diff options
author | David Daney <ddaney@caviumnetworks.com> | 2009-01-08 19:46:40 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-01-11 04:57:21 -0500 |
commit | 5b3b16880f404ca54126210ca86141cceeafc0cf (patch) | |
tree | f69d30450a923782534d4ae257f20aace0a0be74 /arch/mips/cavium-octeon/Kconfig | |
parent | 58f07778ce9d32c22cecb1d8ef348001f0e705c9 (diff) |
MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon.
These are the rest of the new files needed to add OCTEON processor
support to the Linux kernel. Other than Makefile and Kconfig which
should be obvious, we have:
csrc-octeon.c -- Clock source driver for OCTEON.
dma-octeon.c -- Helper functions for mapping DMA memory.
flash_setup.c -- Register on-board flash with the MTD subsystem.
octeon-irq.c -- OCTEON interrupt controller managment.
octeon-memcpy.S -- Optimized memcpy() implementation.
serial.c -- Register 8250 platform driver and early console.
setup.c -- Early architecture initialization.
smp.c -- OCTEON SMP support.
octeon_switch.S -- Scheduler context switch for OCTEON.
c-octeon.c -- OCTEON cache controller support.
cex-oct.S -- OCTEON cache exception handler.
asm/mach-cavium-octeon/*.h -- Architecture include files.
Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
create mode 100644 arch/mips/cavium-octeon/Kconfig
create mode 100644 arch/mips/cavium-octeon/Makefile
create mode 100644 arch/mips/cavium-octeon/csrc-octeon.c
create mode 100644 arch/mips/cavium-octeon/dma-octeon.c
create mode 100644 arch/mips/cavium-octeon/flash_setup.c
create mode 100644 arch/mips/cavium-octeon/octeon-irq.c
create mode 100644 arch/mips/cavium-octeon/octeon-memcpy.S
create mode 100644 arch/mips/cavium-octeon/serial.c
create mode 100644 arch/mips/cavium-octeon/setup.c
create mode 100644 arch/mips/cavium-octeon/smp.c
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/irq.h
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
create mode 100644 arch/mips/include/asm/mach-cavium-octeon/war.h
create mode 100644 arch/mips/include/asm/octeon/octeon.h
create mode 100644 arch/mips/kernel/octeon_switch.S
create mode 100644 arch/mips/mm/c-octeon.c
create mode 100644 arch/mips/mm/cex-oct.S
Diffstat (limited to 'arch/mips/cavium-octeon/Kconfig')
-rw-r--r-- | arch/mips/cavium-octeon/Kconfig | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/arch/mips/cavium-octeon/Kconfig b/arch/mips/cavium-octeon/Kconfig new file mode 100644 index 000000000000..094c17e38e16 --- /dev/null +++ b/arch/mips/cavium-octeon/Kconfig | |||
@@ -0,0 +1,85 @@ | |||
1 | config CAVIUM_OCTEON_SPECIFIC_OPTIONS | ||
2 | bool "Enable Octeon specific options" | ||
3 | depends on CPU_CAVIUM_OCTEON | ||
4 | default "y" | ||
5 | |||
6 | config CAVIUM_OCTEON_2ND_KERNEL | ||
7 | bool "Build the kernel to be used as a 2nd kernel on the same chip" | ||
8 | depends on CAVIUM_OCTEON_SPECIFIC_OPTIONS | ||
9 | default "n" | ||
10 | help | ||
11 | This option configures this kernel to be linked at a different | ||
12 | address and use the 2nd uart for output. This allows a kernel built | ||
13 | with this option to be run at the same time as one built without this | ||
14 | option. | ||
15 | |||
16 | config CAVIUM_OCTEON_HW_FIX_UNALIGNED | ||
17 | bool "Enable hardware fixups of unaligned loads and stores" | ||
18 | depends on CAVIUM_OCTEON_SPECIFIC_OPTIONS | ||
19 | default "y" | ||
20 | help | ||
21 | Configure the Octeon hardware to automatically fix unaligned loads | ||
22 | and stores. Normally unaligned accesses are fixed using a kernel | ||
23 | exception handler. This option enables the hardware automatic fixups, | ||
24 | which requires only an extra 3 cycles. Disable this option if you | ||
25 | are running code that relies on address exceptions on unaligned | ||
26 | accesses. | ||
27 | |||
28 | config CAVIUM_OCTEON_CVMSEG_SIZE | ||
29 | int "Number of L1 cache lines reserved for CVMSEG memory" | ||
30 | depends on CAVIUM_OCTEON_SPECIFIC_OPTIONS | ||
31 | range 0 54 | ||
32 | default 1 | ||
33 | help | ||
34 | CVMSEG LM is a segment that accesses portions of the dcache as a | ||
35 | local memory; the larger CVMSEG is, the smaller the cache is. | ||
36 | This selects the size of CVMSEG LM, which is in cache blocks. The | ||
37 | legally range is from zero to 54 cache blocks (i.e. CVMSEG LM is | ||
38 | between zero and 6192 bytes). | ||
39 | |||
40 | config CAVIUM_OCTEON_LOCK_L2 | ||
41 | bool "Lock often used kernel code in the L2" | ||
42 | depends on CAVIUM_OCTEON_SPECIFIC_OPTIONS | ||
43 | default "y" | ||
44 | help | ||
45 | Enable locking parts of the kernel into the L2 cache. | ||
46 | |||
47 | config CAVIUM_OCTEON_LOCK_L2_TLB | ||
48 | bool "Lock the TLB handler in L2" | ||
49 | depends on CAVIUM_OCTEON_LOCK_L2 | ||
50 | default "y" | ||
51 | help | ||
52 | Lock the low level TLB fast path into L2. | ||
53 | |||
54 | config CAVIUM_OCTEON_LOCK_L2_EXCEPTION | ||
55 | bool "Lock the exception handler in L2" | ||
56 | depends on CAVIUM_OCTEON_LOCK_L2 | ||
57 | default "y" | ||
58 | help | ||
59 | Lock the low level exception handler into L2. | ||
60 | |||
61 | config CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT | ||
62 | bool "Lock the interrupt handler in L2" | ||
63 | depends on CAVIUM_OCTEON_LOCK_L2 | ||
64 | default "y" | ||
65 | help | ||
66 | Lock the low level interrupt handler into L2. | ||
67 | |||
68 | config CAVIUM_OCTEON_LOCK_L2_INTERRUPT | ||
69 | bool "Lock the 2nd level interrupt handler in L2" | ||
70 | depends on CAVIUM_OCTEON_LOCK_L2 | ||
71 | default "y" | ||
72 | help | ||
73 | Lock the 2nd level interrupt handler in L2. | ||
74 | |||
75 | config CAVIUM_OCTEON_LOCK_L2_MEMCPY | ||
76 | bool "Lock memcpy() in L2" | ||
77 | depends on CAVIUM_OCTEON_LOCK_L2 | ||
78 | default "y" | ||
79 | help | ||
80 | Lock the kernel's implementation of memcpy() into L2. | ||
81 | |||
82 | config ARCH_SPARSEMEM_ENABLE | ||
83 | def_bool y | ||
84 | select SPARSEMEM_STATIC | ||
85 | depends on CPU_CAVIUM_OCTEON | ||