# This image was built using coreboot 4.2-1014-g988ee17-dirty
CONFIG_LOCALVERSION="RAPTOR-NORMAL"
CONFIG_CBFS_PREFIX="normal"
CONFIG_USE_OPTION_TABLE=y
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_BOOTBLOCK_NORMAL=y
CONFIG_UPDATE_IMAGE=y
CONFIG_VENDOR_ASUS=y
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_BOARD_ASUS_KFSN4_DRE_K8=y
# CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT is not set
# CONFIG_POST_DEVICE is not set
CONFIG_DRIVERS_PS2_KEYBOARD=y
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_CONSOLE_POST=y
# CONFIG_POST_IO is not set
# CONFIG_GENERATE_PIRQ_TABLE is not set
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="KFSN4-DRE"
CONFIG_SEABIOS_MASTER=y
CONFIG_SEABIOS_VGA_COREBOOT=y
CONFIG_DEBUG_CBFS=y
CONFIG_DEBUG_RAM_SETUP=y
CONFIG_DEBUG_CAR=y
CONFIG_DEBUG_ACPI=y
