menu "Architecture (x86)"

# This is an SMP option. It relates to starting up APs.
# It is usually set in mainboard/*/Kconfig.
# TODO: Improve description.
config AP_IN_SIPI_WAIT
	bool
	default n
	depends on ARCH_X86

# This is the name of the respective architecture subdirectory in arch/.
config ARCH
	string
	default i386
	depends on ARCH_X86

config ROMBASE
	hex
	default 0xffff0000

config ROM_IMAGE_SIZE
	hex
	default 0x10000

config RAMBASE
	hex
	default 0x100000

config RAMTOP
	hex
	default 0x200000

config STACK_SIZE
	hex
	default 0x8000

# Maximum reboot count
# TODO: Improve description.
config MAX_REBOOT_CNT
	int
	default 3

config TINY_BOOTBLOCK
	bool
	default n

config BIG_BOOTBLOCK
	bool
	default n if TINY_BOOTBLOCK
	default y

# We had to rename the choice options under arch/ because otherwise
# the options would conflict between different architectures despite
# the if ARCH_xxx guarding the arch/xxx/Kconfig sourcing.
choice
	prompt "Bootblock behaviour"
	default X86_BOOTBLOCK_SIMPLE
	depends on TINY_BOOTBLOCK

config X86_BOOTBLOCK_SIMPLE
	bool "Always load fallback"

config X86_BOOTBLOCK_NORMAL
	bool "Switch to normal if CMOS says so"

endchoice

config BOOTBLOCK_SOURCE
	string
	default "bootblock_simple.c" if X86_BOOTBLOCK_SIMPLE
	default "bootblock_normal.c" if X86_BOOTBLOCK_NORMAL

config UPDATE_IMAGE
	bool "Update existing coreboot.rom image"
	default n
	depends on TINY_BOOTBLOCK
	help
	  If this option is enabled, no new coreboot.rom file
	  is created. Instead it is expected that there already
	  is a suitable file for further processing.
	  The bootblock will not be modified.

config ROMCC
	bool
	default n

config PC80_SYSTEM
	bool
	default y

config BOOTBLOCK_NORTHBRIDGE_INIT
	string

config HAVE_CMOS_DEFAULT
	def_bool n

config CMOS_DEFAULT_FILE
	string
	depends on HAVE_CMOS_DEFAULT

config BOOTBLOCK_SOUTHBRIDGE_INIT
	string

endmenu
