163 lines
4.0 KiB
Plaintext
163 lines
4.0 KiB
Plaintext
# Kconfig - x86 general configuration options
|
|
#
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menu "X86 Architecture Options"
|
|
depends on X86
|
|
|
|
config ARCH
|
|
default "x86"
|
|
|
|
#
|
|
# CPU Families - the SoC configuration should select the right one.
|
|
#
|
|
|
|
config CPU_ATOM
|
|
bool # hidden
|
|
select CPU_HAS_FPU
|
|
select ARCH_HAS_STACK_PROTECTION if X86_MMU
|
|
select ARCH_HAS_USERSPACE if X86_MMU
|
|
help
|
|
This option signifies the use of a CPU from the Atom family.
|
|
|
|
config CPU_MINUTEIA
|
|
bool # hidden
|
|
select ARCH_HAS_STACK_PROTECTION if X86_MMU
|
|
select ARCH_HAS_USERSPACE if X86_MMU
|
|
help
|
|
This option signifies the use of a CPU from the Minute IA family.
|
|
|
|
config CPU_APOLLO_LAKE
|
|
bool # hidden
|
|
select CPU_HAS_FPU
|
|
select ARCH_HAS_STACK_PROTECTION if X86_MMU
|
|
select ARCH_HAS_USERSPACE if X86_MMU
|
|
help
|
|
This option signifies the use of a CPU from the Apollo Lake family.
|
|
|
|
#
|
|
# Configuration common to both IA32 and Intel64 sub-architectures.
|
|
#
|
|
|
|
config X86_LONGMODE
|
|
bool
|
|
prompt "Run in long (64-bit) mode"
|
|
default n
|
|
select 64BIT
|
|
select USE_SWITCH
|
|
select USE_SWITCH_SUPPORTED
|
|
select SCHED_IPI_SUPPORTED
|
|
|
|
config MAX_IRQ_LINES
|
|
int "Number of IRQ lines"
|
|
default 128
|
|
range 0 224
|
|
help
|
|
This option specifies the number of IRQ lines in the system. It
|
|
determines the size of the _irq_to_interrupt_vector_table, which
|
|
is used to track the association between vectors and IRQ numbers.
|
|
|
|
config IRQ_OFFLOAD_VECTOR
|
|
int "IDT vector to use for IRQ offload"
|
|
default 32
|
|
range 32 255
|
|
depends on IRQ_OFFLOAD
|
|
|
|
config XIP
|
|
default n
|
|
|
|
config PIC_DISABLE
|
|
bool "Disable PIC"
|
|
help
|
|
This option disables all interrupts on the legacy i8259 PICs at boot.
|
|
|
|
choice
|
|
prompt "Reboot implementation"
|
|
depends on REBOOT
|
|
default REBOOT_RST_CNT
|
|
|
|
config REBOOT_RST_CNT
|
|
bool "Reboot via RST_CNT register"
|
|
help
|
|
Reboot via the RST_CNT register, going back to BIOS.
|
|
endchoice
|
|
|
|
config ACPI
|
|
bool "ACPI (Advanced Configuration and Power Interface) support"
|
|
default n
|
|
help
|
|
Allow retrieval of platform configuration at runtime.
|
|
|
|
config X86_MEMMAP_ENTRIES
|
|
int "Number of memory map entries"
|
|
range 1 256
|
|
default 1 if !MULTIBOOT_MEMMAP
|
|
default 64 if MULTIBOOT_MEMMAP
|
|
help
|
|
Maximum number of memory regions to hold in the memory map.
|
|
|
|
config MULTIBOOT
|
|
bool "Generate multiboot header"
|
|
default y
|
|
help
|
|
Embed a multiboot header in the output executable. This is used
|
|
by some boot loaders (e.g., GRUB) when loading Zephyr. It is safe
|
|
to leave this option on if you're not sure. It only expands the
|
|
text segment by 12-16 bytes and is typically ignored if not needed.
|
|
|
|
if MULTIBOOT
|
|
|
|
config MULTIBOOT_INFO
|
|
bool "Preserve multiboot information structure"
|
|
default n
|
|
help
|
|
Multiboot passes a pointer to an information structure to the
|
|
kernel entry point. Some drivers (e.g., the multiboot framebuffer
|
|
display driver) need to refer to information in this structure,
|
|
and so set this option to preserve the data in a permanent location.
|
|
|
|
config MULTIBOOT_MEMMAP
|
|
bool "Use multiboot memory map if provided"
|
|
default n
|
|
select MULTIBOOT_INFO
|
|
help
|
|
Use the multiboot memory map if the loader provides one.
|
|
|
|
config MULTIBOOT_FRAMEBUF
|
|
bool "Multiboot framebuffer support"
|
|
default n
|
|
select DISPLAY
|
|
select FRAMEBUF_DISPLAY
|
|
select MULTIBOOT_INFO
|
|
|
|
if MULTIBOOT_FRAMEBUF
|
|
|
|
config MULTIBOOT_FRAMEBUF_X
|
|
int "Multiboot framebuffer X pixels"
|
|
default 640
|
|
|
|
config MULTIBOOT_FRAMEBUF_Y
|
|
int "Multiboot framebuffer Y pixels"
|
|
default 480
|
|
|
|
endif # MULTIBOOT_FRAMEBUF
|
|
|
|
endif # MULTIBOOT
|
|
|
|
config X86_VERY_EARLY_CONSOLE
|
|
bool "Support very early boot printk"
|
|
depends on PRINTK
|
|
help
|
|
Non-emulated X86 devices often require special hardware to attach
|
|
a debugger, which may not be easily available. This option adds a
|
|
very minimal serial driver which gets initialized at the very
|
|
beginning of z_cstart(), via z_arch_kernel_init(). This driver enables
|
|
printk to emit messages to the 16550 UART port 0 instance in device
|
|
tree. This mini-driver assumes I/O to the UART is done via ports.
|
|
|
|
source "arch/x86/core/Kconfig.ia32"
|
|
source "arch/x86/core/Kconfig.intel64"
|
|
|
|
endmenu
|