# This image was built using coreboot 4.7-167-ge87d3cd-dirty
CONFIG_LOCALVERSION="RAPTOR-NORMAL"
CONFIG_CBFS_PREFIX="normal"
CONFIG_USE_OPTION_TABLE=y
CONFIG_UPDATE_IMAGE=y
CONFIG_VENDOR_ASUS=y
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_BOARD_ASUS_KFSN4_DRE=y
# CONFIG_POST_IO is not set
# CONFIG_POST_DEVICE is not set
CONFIG_DRIVERS_PS2_KEYBOARD=y
CONFIG_BOOTBLOCK_NORMAL=y
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_CONSOLE_POST=y
# CONFIG_GENERATE_PIRQ_TABLE is not set
CONFIG_SEABIOS_MASTER=y
CONFIG_DEBUG_CBFS=y
CONFIG_DEBUG_RAM_SETUP=y
CONFIG_DEBUG_CAR=y
CONFIG_DEBUG_ACPI=y
