Kconfig 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. if CPU_CAVIUM_OCTEON
  2. config CAVIUM_CN63XXP1
  3. bool "Enable CN63XXP1 errata worarounds"
  4. default "n"
  5. help
  6. The CN63XXP1 chip requires build time workarounds to
  7. function reliably, select this option to enable them. These
  8. workarounds will cause a slight decrease in performance on
  9. non-CN63XXP1 hardware, so it is recommended to select "n"
  10. unless it is known the workarounds are needed.
  11. endif # CPU_CAVIUM_OCTEON
  12. if CAVIUM_OCTEON_SOC
  13. config CAVIUM_OCTEON_2ND_KERNEL
  14. bool "Build the kernel to be used as a 2nd kernel on the same chip"
  15. default "n"
  16. help
  17. This option configures this kernel to be linked at a different
  18. address and use the 2nd uart for output. This allows a kernel built
  19. with this option to be run at the same time as one built without this
  20. option.
  21. config CAVIUM_OCTEON_HW_FIX_UNALIGNED
  22. bool "Enable hardware fixups of unaligned loads and stores"
  23. default "y"
  24. help
  25. Configure the Octeon hardware to automatically fix unaligned loads
  26. and stores. Normally unaligned accesses are fixed using a kernel
  27. exception handler. This option enables the hardware automatic fixups,
  28. which requires only an extra 3 cycles. Disable this option if you
  29. are running code that relies on address exceptions on unaligned
  30. accesses.
  31. config CAVIUM_OCTEON_CVMSEG_SIZE
  32. int "Number of L1 cache lines reserved for CVMSEG memory"
  33. range 0 54
  34. default 1
  35. help
  36. CVMSEG LM is a segment that accesses portions of the dcache as a
  37. local memory; the larger CVMSEG is, the smaller the cache is.
  38. This selects the size of CVMSEG LM, which is in cache blocks. The
  39. legally range is from zero to 54 cache blocks (i.e. CVMSEG LM is
  40. between zero and 6192 bytes).
  41. config CAVIUM_OCTEON_LOCK_L2
  42. bool "Lock often used kernel code in the L2"
  43. default "y"
  44. help
  45. Enable locking parts of the kernel into the L2 cache.
  46. config CAVIUM_OCTEON_LOCK_L2_TLB
  47. bool "Lock the TLB handler in L2"
  48. depends on CAVIUM_OCTEON_LOCK_L2
  49. default "y"
  50. help
  51. Lock the low level TLB fast path into L2.
  52. config CAVIUM_OCTEON_LOCK_L2_EXCEPTION
  53. bool "Lock the exception handler in L2"
  54. depends on CAVIUM_OCTEON_LOCK_L2
  55. default "y"
  56. help
  57. Lock the low level exception handler into L2.
  58. config CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT
  59. bool "Lock the interrupt handler in L2"
  60. depends on CAVIUM_OCTEON_LOCK_L2
  61. default "y"
  62. help
  63. Lock the low level interrupt handler into L2.
  64. config CAVIUM_OCTEON_LOCK_L2_INTERRUPT
  65. bool "Lock the 2nd level interrupt handler in L2"
  66. depends on CAVIUM_OCTEON_LOCK_L2
  67. default "y"
  68. help
  69. Lock the 2nd level interrupt handler in L2.
  70. config CAVIUM_OCTEON_LOCK_L2_MEMCPY
  71. bool "Lock memcpy() in L2"
  72. depends on CAVIUM_OCTEON_LOCK_L2
  73. default "y"
  74. help
  75. Lock the kernel's implementation of memcpy() into L2.
  76. config IOMMU_HELPER
  77. bool
  78. config NEED_SG_DMA_LENGTH
  79. bool
  80. config SWIOTLB
  81. def_bool y
  82. select IOMMU_HELPER
  83. select NEED_SG_DMA_LENGTH
  84. config OCTEON_ILM
  85. tristate "Module to measure interrupt latency using Octeon CIU Timer"
  86. help
  87. This driver is a module to measure interrupt latency using the
  88. the CIU Timers on Octeon.
  89. To compile this driver as a module, choose M here. The module
  90. will be called octeon-ilm
  91. endif # CAVIUM_OCTEON_SOC