blob: 84639a0929ec968ec316938abec50754decae90c [file] [log] [blame]
# 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 X64 sub-architectures.
#
config X86_LONGMODE
bool
prompt "Run in long (64-bit) mode"
default n
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 X86_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.
config X86_MULTIBOOT_INFO
bool "Preserve multiboot information structure"
depends on X86_MULTIBOOT
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.
if X86_MULTIBOOT
config X86_MULTIBOOT_FRAMEBUF
bool "Multiboot framebuffer support"
default n
select DISPLAY
select FRAMEBUF_DISPLAY
select X86_MULTIBOOT_INFO
if X86_MULTIBOOT_FRAMEBUF
config X86_MULTIBOOT_FRAMEBUF_X
int "Multiboot framebuffer X pixels"
default 640
config X86_MULTIBOOT_FRAMEBUF_Y
int "Multiboot framebuffer Y pixels"
default 480
endif # X86_MULTIBOOT_FRAMEBUF
endif # X86_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 kernel_arch_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.x64"
endmenu