Kconfig 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. # SPDX-License-Identifier: GPL-2.0
  2. # Hexagon configuration
  3. comment "Linux Kernel Configuration for Hexagon"
  4. config HEXAGON
  5. def_bool y
  6. select ARCH_32BIT_OFF_T
  7. select ARCH_HAS_SYNC_DMA_FOR_DEVICE
  8. select ARCH_NO_PREEMPT
  9. select HAVE_OPROFILE
  10. # Other pending projects/to-do items.
  11. # select HAVE_REGS_AND_STACK_ACCESS_API
  12. # select HAVE_HW_BREAKPOINT if PERF_EVENTS
  13. # select ARCH_HAS_CPU_IDLE_WAIT
  14. # select GPIOLIB
  15. # select HAVE_CLK
  16. # select GENERIC_PENDING_IRQ if SMP
  17. select GENERIC_ATOMIC64
  18. select HAVE_PERF_EVENTS
  19. # GENERIC_ALLOCATOR is used by dma_alloc_coherent()
  20. select GENERIC_ALLOCATOR
  21. select GENERIC_IRQ_SHOW
  22. select HAVE_ARCH_KGDB
  23. select HAVE_ARCH_TRACEHOOK
  24. select NEED_SG_DMA_LENGTH
  25. select NO_IOPORT_MAP
  26. select GENERIC_IOMAP
  27. select GENERIC_SMP_IDLE_THREAD
  28. select STACKTRACE_SUPPORT
  29. select GENERIC_CLOCKEVENTS
  30. select GENERIC_CLOCKEVENTS_BROADCAST
  31. select MODULES_USE_ELF_RELA
  32. select GENERIC_CPU_DEVICES
  33. select SET_FS
  34. help
  35. Qualcomm Hexagon is a processor architecture designed for high
  36. performance and low power across a wide variety of applications.
  37. config HEXAGON_PHYS_OFFSET
  38. def_bool y
  39. help
  40. Platforms that don't load the kernel at zero set this.
  41. config FRAME_POINTER
  42. def_bool y
  43. config LOCKDEP_SUPPORT
  44. def_bool y
  45. config EARLY_PRINTK
  46. def_bool y
  47. config MMU
  48. def_bool y
  49. config TRACE_IRQFLAGS_SUPPORT
  50. def_bool y
  51. config GENERIC_CSUM
  52. def_bool y
  53. #
  54. # Use the generic interrupt handling code in kernel/irq/:
  55. #
  56. config GENERIC_IRQ_PROBE
  57. def_bool y
  58. config GENERIC_HWEIGHT
  59. def_bool y
  60. config STACKTRACE_SUPPORT
  61. def_bool y
  62. select STACKTRACE
  63. config GENERIC_BUG
  64. def_bool y
  65. depends on BUG
  66. menu "Machine selection"
  67. choice
  68. prompt "System type"
  69. default HEXAGON_COMET
  70. config HEXAGON_COMET
  71. bool "Comet Board"
  72. help
  73. Support for the Comet platform.
  74. endchoice
  75. config HEXAGON_ARCH_VERSION
  76. int "Architecture version"
  77. default 2
  78. config CMDLINE
  79. string "Default kernel command string"
  80. default ""
  81. help
  82. On some platforms, there is currently no way for the boot loader
  83. to pass arguments to the kernel. For these, you should supply some
  84. command-line options at build time by entering them here. At a
  85. minimum, you should specify the memory size and the root device
  86. (e.g., mem=64M root=/dev/nfs).
  87. config SMP
  88. bool "Multi-Processing support"
  89. help
  90. Enables SMP support in the kernel. If unsure, say "Y"
  91. config NR_CPUS
  92. int "Maximum number of CPUs" if SMP
  93. range 2 6 if SMP
  94. default "1" if !SMP
  95. default "6" if SMP
  96. help
  97. This allows you to specify the maximum number of CPUs which this
  98. kernel will support. The maximum supported value is 6 and the
  99. minimum value which makes sense is 2.
  100. This is purely to save memory - each supported CPU adds
  101. approximately eight kilobytes to the kernel image.
  102. choice
  103. prompt "Kernel page size"
  104. default PAGE_SIZE_4KB
  105. help
  106. Changes the default page size; use with caution.
  107. config PAGE_SIZE_4KB
  108. bool "4KB"
  109. config PAGE_SIZE_16KB
  110. bool "16KB"
  111. config PAGE_SIZE_64KB
  112. bool "64KB"
  113. config PAGE_SIZE_256KB
  114. bool "256KB"
  115. endchoice
  116. source "kernel/Kconfig.hz"
  117. endmenu