| # 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 |