2020-03-04 07:29:13 +08:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
|
|
|
if ARCH_X86_64
|
|
|
|
comment "x86_64 Configuration Options"
|
|
|
|
|
|
|
|
config ARCH
|
|
|
|
string
|
|
|
|
default "x86_64"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "x86_64 arch selection"
|
|
|
|
default ARCH_INTEL64
|
|
|
|
|
|
|
|
config ARCH_INTEL64
|
|
|
|
bool "Intel x86_64"
|
2024-06-17 20:04:48 +08:00
|
|
|
select ARCH_HAVE_MMU
|
|
|
|
select ARCH_USE_MMU
|
2024-06-20 14:43:53 +08:00
|
|
|
select ARCH_HAVE_ADDRENV
|
|
|
|
select ARCH_NEED_ADDRENV_MAPPING
|
2021-12-14 15:52:49 +08:00
|
|
|
select ARCH_HAVE_TICKLESS
|
|
|
|
select ARCH_HAVE_STACKCHECK
|
2020-03-04 07:29:13 +08:00
|
|
|
select ARCH_HAVE_RNG
|
2024-02-26 15:21:32 +08:00
|
|
|
select ARCH_HAVE_RESET
|
2024-03-05 00:08:53 +08:00
|
|
|
select ARCH_HAVE_MMX
|
|
|
|
select ARCH_HAVE_SSE
|
|
|
|
select ARCH_HAVE_SSE2
|
|
|
|
select ARCH_HAVE_SSE3
|
|
|
|
select ARCH_HAVE_SSSE3
|
|
|
|
select ARCH_HAVE_SSE41
|
|
|
|
select ARCH_HAVE_SSE42
|
|
|
|
select ARCH_HAVE_SSE4A
|
2024-04-22 21:49:18 +08:00
|
|
|
select ARCH_HAVE_FMA if ARCH_X86_64_HAVE_XSAVE
|
|
|
|
select ARCH_HAVE_AVX if ARCH_X86_64_HAVE_XSAVE
|
|
|
|
select ARCH_HAVE_AVX512 if ARCH_X86_64_HAVE_XSAVE
|
2024-04-03 17:52:56 +08:00
|
|
|
select ARCH_ICACHE
|
|
|
|
select ARCH_DCACHE
|
2024-04-24 18:08:39 +08:00
|
|
|
select ARCH_HAVE_IRQTRIGGER
|
2020-03-04 07:29:13 +08:00
|
|
|
---help---
|
|
|
|
Intel x86_64 architecture
|
|
|
|
|
2020-10-15 11:29:59 +08:00
|
|
|
config ARCH_CHIP_X86_64_CUSTOM
|
|
|
|
bool "Custom x86_64 chip"
|
|
|
|
select ARCH_CHIP_CUSTOM
|
|
|
|
---help---
|
|
|
|
Select this option if there is no directory for the chip under arch/x86_64/src/.
|
|
|
|
|
2020-03-04 07:29:13 +08:00
|
|
|
endchoice
|
|
|
|
|
2024-09-20 13:54:19 +08:00
|
|
|
if SCHED_BACKTRACE
|
|
|
|
choice
|
|
|
|
prompt "Choose x86_64 unwinder"
|
|
|
|
default X86_64_UNWINDER_FRAME_POINTER
|
|
|
|
---help---
|
|
|
|
This determines which method will be used for unwinding nuttx stack
|
|
|
|
traces for debug.
|
|
|
|
|
|
|
|
config X86_64_UNWINDER_FRAME_POINTER
|
|
|
|
bool "Frame pointer unwinder"
|
|
|
|
select FRAME_POINTER
|
|
|
|
---help---
|
|
|
|
This option enables the frame pointer unwinder for unwinding
|
|
|
|
nuttx stack traces.
|
|
|
|
|
|
|
|
endchoice # Choose x86_64 unwinder
|
|
|
|
endif
|
|
|
|
|
2024-03-05 00:08:53 +08:00
|
|
|
# CPU features
|
|
|
|
|
|
|
|
config ARCH_HAVE_MMX
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAVE_SSE
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config ARCH_HAVE_SSE2
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config ARCH_HAVE_SSE3
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAVE_SSSE3
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAVE_SSE41
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAVE_SSE42
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAVE_SSE4A
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2024-04-22 21:49:18 +08:00
|
|
|
config ARCH_HAVE_FMA
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2024-03-05 00:08:53 +08:00
|
|
|
config ARCH_HAVE_AVX
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAVE_AVX512
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2021-07-20 19:10:10 +08:00
|
|
|
source "arch/x86_64/src/common/Kconfig"
|
2020-03-04 07:29:13 +08:00
|
|
|
|
|
|
|
if ARCH_INTEL64
|
2021-07-20 19:10:10 +08:00
|
|
|
source "arch/x86_64/src/intel64/Kconfig"
|
2020-03-04 07:29:13 +08:00
|
|
|
|
|
|
|
config ARCH_CHIP
|
|
|
|
string
|
|
|
|
default "intel64"
|
|
|
|
|
|
|
|
endif # ARCH_INTEL64
|
|
|
|
|
2024-09-13 18:55:20 +08:00
|
|
|
config ARCH_MULTIBOOT1
|
|
|
|
bool "Enable ELF32/Multiboot1"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
This enables generating `nuttx32` and allows x86 QEMU
|
|
|
|
`-kernel` boot in multiboot1 protocol.
|
|
|
|
|
2020-08-04 18:29:05 +08:00
|
|
|
config ARCH_MULTIBOOT2
|
|
|
|
bool "Append multiboot2 header"
|
|
|
|
default y
|
2021-12-14 15:52:49 +08:00
|
|
|
---help---
|
2020-08-04 18:29:05 +08:00
|
|
|
Include a multiboot2 header. This also provides information to the
|
|
|
|
system to enable certain features like the low level framebuffer.
|
|
|
|
|
|
|
|
if ARCH_MULTIBOOT2
|
2024-01-22 17:40:16 +08:00
|
|
|
|
2020-08-04 18:29:05 +08:00
|
|
|
config MULTBOOT2_FB_TERM
|
|
|
|
bool "Multiboot2 framebuffer terminal"
|
|
|
|
default n
|
|
|
|
depends on NXFONTS
|
2024-04-08 22:21:13 +08:00
|
|
|
---help---
|
|
|
|
Enable a framebuffer terminal for early debug printing
|
2020-08-04 18:29:05 +08:00
|
|
|
|
|
|
|
endif # ARCH_MULTIBOOT2
|
2020-03-04 07:29:13 +08:00
|
|
|
|
2024-09-06 18:40:46 +08:00
|
|
|
config ARCH_PVHBOOT
|
|
|
|
bool "Append Xen PVH ELF Note"
|
|
|
|
default y
|
|
|
|
---help---
|
2024-09-13 18:55:20 +08:00
|
|
|
This allows x86 QEMU `-kernel` boot in PVH protocol.
|
2024-09-06 18:40:46 +08:00
|
|
|
|
2020-03-04 07:29:13 +08:00
|
|
|
endif # ARCH_X86_64
|