# This image was built using git revision 8232bc2cdd47666a51cd3bc5beea608f13b8e9fa
CONFIG_EXPERT=y
CONFIG_LOCALVERSION="nuclearis"
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
CONFIG_USE_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_EARLY_CBMEM_INIT=y
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_USE_BLOBS=y
CONFIG_VENDOR_GOOGLE=y
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_DIR="google/butterfly"
CONFIG_MAINBOARD_PART_NUMBER="Butterfly"
CONFIG_IRQ_SLOT_COUNT=18
CONFIG_MAINBOARD_VENDOR="Hewlett-Packard"
CONFIG_MAX_CPUS=8
CONFIG_RAMTOP=0x200000
CONFIG_HEAP_SIZE=0x4000
CONFIG_RAMBASE=0x100000
CONFIG_VGA_BIOS_ID="8086,0106"
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
CONFIG_VGA_BIOS=y
CONFIG_CONSOLE_POST=y
CONFIG_DCACHE_RAM_BASE=0xff7e0000
CONFIG_DCACHE_RAM_SIZE=0x20000
CONFIG_ACPI_SSDTX_NUM=0
CONFIG_VGA_BIOS_FILE="3rdparty/mainboard/google/butterfly/snm_2130_coreboot.bin"
CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID=0x1ae0
CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID=0xc000
CONFIG_MMCONF_BASE_ADDRESS=0xf0000000
CONFIG_ID_SECTION_OFFSET=0x80
CONFIG_XIP_ROM_SIZE=0x10000
CONFIG_VENDOR_SPECIFIC_OPTIONS=y
CONFIG_BOARD_GOOGLE_BUTTERFLY=y
CONFIG_MMCONF_SUPPORT_DEFAULT=y
CONFIG_HAVE_IFD_BIN=y
CONFIG_HAVE_ME_BIN=y
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Hewlett-Packard"
CONFIG_SEABIOS_PS2_TIMEOUT=0
CONFIG_LOGICAL_CPUS=y
CONFIG_IOAPIC=y
CONFIG_SMP=y
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8
CONFIG_CPU_ADDR_BITS=32
CONFIG_BOARD_ROMSIZE_KB_8192=y
CONFIG_COREBOOT_ROMSIZE_KB_8192=y
CONFIG_COREBOOT_ROMSIZE_KB=8192
CONFIG_ROM_SIZE=0x800000
CONFIG_MAINBOARD_SERIAL_NUMBER="DON'T BE LAZY! INSERT YOUR SERIAL NUMBER HERE"
CONFIG_MAINBOARD_VERSION="1.0"
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="HP Pavilion Chromebook 14 (D1A49UA#ABA)"
CONFIG_ARCH_X86=y
CONFIG_X86_ARCH_OPTIONS=y
CONFIG_MARK_GRAPHICS_MEM_WRCOMB=y
CONFIG_STACK_SIZE=0x1000
CONFIG_MAX_REBOOT_CNT=3
CONFIG_NUM_IPI_STARTS=2
CONFIG_X86_BOOTBLOCK_NORMAL=y
CONFIG_BOOTBLOCK_SOURCE="bootblock_normal.c"
CONFIG_PC80_SYSTEM=y
CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/sandybridge/bootblock.c"
CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/bd82x6x/bootblock.c"
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
CONFIG_HPET_ADDRESS=0xfed00000
CONFIG_HAVE_ARCH_MEMSET=y
CONFIG_HAVE_ARCH_MEMCPY=y
CONFIG_HAVE_ARCH_MEMMOVE=y
CONFIG_BOOTBLOCK_CPU_INIT="cpu/intel/model_206ax/bootblock.c"
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
CONFIG_CPU_SPECIFIC_OPTIONS=y
CONFIG_HAVE_INIT_TIMER=y
CONFIG_HIGH_SCRATCH_MEMORY_SIZE=0x0
CONFIG_CPU_INTEL_MODEL_306AX=y
CONFIG_SMM_TSEG_SIZE=0x800000
CONFIG_MICROCODE_INCLUDE_PATH="src/cpu/intel/model_206ax"
CONFIG_CPU_MICROCODE_CBFS_LOC=0
CONFIG_CPU_MICROCODE_CBFS_LEN=0xC000
CONFIG_SSE2=y
CONFIG_CPU_INTEL_SOCKET_RPGA989=y
CONFIG_CACHE_MRC_BIN=y
CONFIG_UDELAY_LAPIC=y
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_CACHE_ROM=y
CONFIG_SMM_TSEG=y
CONFIG_CACHE_AS_RAM=y
CONFIG_AP_SIPI_VECTOR=0xfffff000
CONFIG_MMX=y
CONFIG_SSE=y
CONFIG_CPU_MICROCODE_IN_CBFS=y
CONFIG_CPU_MICROCODE_CBFS_GENERATE=y
CONFIG_VIDEO_MB=0
CONFIG_CBFS_SIZE=0x100000
CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE=y
CONFIG_CACHE_MRC_SIZE_KB=512
CONFIG_MRC_CACHE_SIZE=0x10000
CONFIG_DCACHE_RAM_MRC_VAR_SIZE=0x4000
CONFIG_HAVE_MRC=y
CONFIG_MRC_FILE="3rdparty/northbridge/intel/sandybridge/systemagent-r6.bin"
CONFIG_HPET_MIN_TICKS=0x80
CONFIG_MAX_PIRQ_LINKS=4
CONFIG_EHCI_BAR=0xfef00000
CONFIG_EHCI_DEBUG_OFFSET=0xa0
CONFIG_AMD_SB_SPI_TX_LEN=4
CONFIG_SPI_FLASH=y
CONFIG_SOUTHBRIDGE_INTEL_COMMON=y
CONFIG_SOUTHBRIDGE_INTEL_C216=y
CONFIG_SOUTH_BRIDGE_OPTIONS=y
CONFIG_SERIRQ_CONTINUOUS_MODE=y
CONFIG_IFD_BIN_PATH="3rdparty/mainboard/$(MAINBOARDDIR)/descriptor.bin"
CONFIG_ME_BIN_PATH="3rdparty/mainboard/$(MAINBOARDDIR)/me.bin"
CONFIG_EC_QUANTA_ENE_KB3940Q=y
CONFIG_PCI=y
CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_AGP_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_COMMON_CLOCK=y
CONFIG_PCIEXP_ASPM=y
CONFIG_PCI_BUS_SEGN_BITS=0
CONFIG_SPI_FLASH_SMM=y
CONFIG_SPI_FLASH_EON=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
CONFIG_SPI_FLASH_SST=y
CONFIG_SPI_FLASH_STMICRO=y
CONFIG_SPI_FLASH_WINBOND=y
CONFIG_SPI_FLASH_GIGADEVICE=y
CONFIG_MMCONF_SUPPORT=y
CONFIG_EARLY_CONSOLE=y
CONFIG_SQUELCH_EARLY_SMP=y
CONFIG_HAVE_USBDEBUG=y
CONFIG_HAVE_USBDEBUG_OPTIONS=y
CONFIG_CONSOLE_CBMEM=y
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x10000
CONFIG_CONSOLE_CAR_BUFFER_SIZE=0xc00
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
CONFIG_HAVE_UART_IO_MAPPED=y
CONFIG_HAVE_ACPI_RESUME=y
CONFIG_HAVE_HARD_RESET=y
CONFIG_HAVE_OPTION_TABLE=y
CONFIG_HAVE_SMI_HANDLER=y
CONFIG_CACHE_ROM_SIZE=0x100000
CONFIG_USE_WATCHDOG_ON_BOOT=y
CONFIG_GFXUMA=y
CONFIG_HAVE_ACPI_TABLES=y
CONFIG_MULTIBOOT=y
CONFIG_GENERATE_ACPI_TABLES=y
CONFIG_GENERATE_SMBIOS_TABLES=y
CONFIG_PAYLOAD_ELF=y
CONFIG_PAYLOAD_FILE="seabios.elf"
CONFIG_COMPRESSED_PAYLOAD_LZMA=y
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAINBOARD_HAS_CHROMEOS=y
