| if CPU_CAVIUM_OCTEON |
| |
| config CAVIUM_CN63XXP1 |
| bool "Enable CN63XXP1 errata worarounds" |
| default "n" |
| help |
| The CN63XXP1 chip requires build time workarounds to |
| function reliably, select this option to enable them. These |
| workarounds will cause a slight decrease in performance on |
| non-CN63XXP1 hardware, so it is recommended to select "n" |
| unless it is known the workarounds are needed. |
| |
| config CAVIUM_OCTEON_2ND_KERNEL |
| bool "Build the kernel to be used as a 2nd kernel on the same chip" |
| default "n" |
| help |
| This option configures this kernel to be linked at a different |
| address and use the 2nd uart for output. This allows a kernel built |
| with this option to be run at the same time as one built without this |
| option. |
| |
| config CAVIUM_OCTEON_HW_FIX_UNALIGNED |
| bool "Enable hardware fixups of unaligned loads and stores" |
| default "y" |
| help |
| Configure the Octeon hardware to automatically fix unaligned loads |
| and stores. Normally unaligned accesses are fixed using a kernel |
| exception handler. This option enables the hardware automatic fixups, |
| which requires only an extra 3 cycles. Disable this option if you |
| are running code that relies on address exceptions on unaligned |
| accesses. |
| |
| config CAVIUM_OCTEON_CVMSEG_SIZE |
| int "Number of L1 cache lines reserved for CVMSEG memory" |
| range 0 54 |
| default 1 |
| help |
| CVMSEG LM is a segment that accesses portions of the dcache as a |
| local memory; the larger CVMSEG is, the smaller the cache is. |
| This selects the size of CVMSEG LM, which is in cache blocks. The |
| legally range is from zero to 54 cache blocks (i.e. CVMSEG LM is |
| between zero and 6192 bytes). |
| |
| config CAVIUM_OCTEON_LOCK_L2 |
| bool "Lock often used kernel code in the L2" |
| default "y" |
| help |
| Enable locking parts of the kernel into the L2 cache. |
| |
| config CAVIUM_OCTEON_LOCK_L2_TLB |
| bool "Lock the TLB handler in L2" |
| depends on CAVIUM_OCTEON_LOCK_L2 |
| default "y" |
| help |
| Lock the low level TLB fast path into L2. |
| |
| config CAVIUM_OCTEON_LOCK_L2_EXCEPTION |
| bool "Lock the exception handler in L2" |
| depends on CAVIUM_OCTEON_LOCK_L2 |
| default "y" |
| help |
| Lock the low level exception handler into L2. |
| |
| config CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT |
| bool "Lock the interrupt handler in L2" |
| depends on CAVIUM_OCTEON_LOCK_L2 |
| default "y" |
| help |
| Lock the low level interrupt handler into L2. |
| |
| config CAVIUM_OCTEON_LOCK_L2_INTERRUPT |
| bool "Lock the 2nd level interrupt handler in L2" |
| depends on CAVIUM_OCTEON_LOCK_L2 |
| default "y" |
| help |
| Lock the 2nd level interrupt handler in L2. |
| |
| config CAVIUM_OCTEON_LOCK_L2_MEMCPY |
| bool "Lock memcpy() in L2" |
| depends on CAVIUM_OCTEON_LOCK_L2 |
| default "y" |
| help |
| Lock the kernel's implementation of memcpy() into L2. |
| |
| config IOMMU_HELPER |
| bool |
| |
| config NEED_SG_DMA_LENGTH |
| bool |
| |
| config SWIOTLB |
| def_bool y |
| select IOMMU_HELPER |
| select NEED_SG_DMA_LENGTH |
| |
| |
| config OCTEON_ILM |
| tristate "Module to measure interrupt latency using Octeon CIU Timer" |
| help |
| This driver is a module to measure interrupt latency using the |
| the CIU Timers on Octeon. |
| |
| To compile this driver as a module, choose M here. The module |
| will be called octeon-ilm |
| |
| endif # CPU_CAVIUM_OCTEON |