# This image was built using git revision ae5ab604d51815bfed964017fad815c002aca9fe
CONFIG_LOCALVERSION=""
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_BOOTBLOCK_SIMPLE=y
CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c"
CONFIG_VENDOR_AMD=y
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_DIR="amd/lamar"
CONFIG_MAINBOARD_PART_NUMBER="DB-FP3"
CONFIG_IRQ_SLOT_COUNT=11
CONFIG_MAINBOARD_VENDOR="AMD"
CONFIG_HW_MEM_HOLE_SIZEK=0x200000
CONFIG_MAX_CPUS=4
CONFIG_VGA_BIOS_ID="1002,1304"
CONFIG_BOARD_AMD_LAMAR=y
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
CONFIG_VGA_BIOS=y
CONFIG_MAINBOARD_SERIAL_NUMBER="52198A"
CONFIG_RAMTOP=0x1000000
CONFIG_HEAP_SIZE=0xc0000
CONFIG_RAMBASE=0x200000
CONFIG_HUDSON_XHCI_FWM_FILE="3rdparty/southbridge/amd/bolton/xhci.bin"
CONFIG_AZ_PIN=0x02
CONFIG_DCACHE_RAM_BASE=0x30000
CONFIG_DCACHE_RAM_SIZE=0x10000
CONFIG_VGA_BIOS_FILE="3rdparty/northbridge/amd/00630F01/VBIOS.bin"
CONFIG_MMCONF_BASE_ADDRESS=0xF8000000
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="AMD"
CONFIG_UART_FOR_CONSOLE=0
CONFIG_ID_SECTION_OFFSET=0x80
CONFIG_TTYS0_LCS=3
CONFIG_CACHE_ROM_SIZE_OVERRIDE=0
CONFIG_CBFS_SIZE=0x800000
CONFIG_UDELAY_LAPIC_FIXED_FSB=200
CONFIG_POST_IO=y
CONFIG_POST_DEVICE=y
CONFIG_CPU_ADDR_BITS=48
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8
CONFIG_MAINBOARD_VERSION="1.0"
CONFIG_DRIVERS_PS2_KEYBOARD=y
CONFIG_BOARD_ROMSIZE_KB_8192=y
CONFIG_COREBOOT_ROMSIZE_KB_8192=y
CONFIG_COREBOOT_ROMSIZE_KB=8192
CONFIG_ROM_SIZE=0x800000
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_VERSTAGE_X86_32=y
CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_NUM_IPI_STARTS=2
CONFIG_LATE_CBMEM_INIT=y
CONFIG_PC80_SYSTEM=y
CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/amd/pi/hudson/bootblock.c"
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
CONFIG_HPET_ADDRESS=0xfed00000
CONFIG_AGESA_BINARY_PI_DEFAULTS=y
CONFIG_AGESA_BINARY_PI_PATH_DEFAULT="3rdparty/pi/amd/00630F01"
CONFIG_AGESA_BINARY_PI_FILE_DEFAULT="FP3/AGESA.bin"
CONFIG_AGESA_BINARY_PI_LOCATION_DEFAULT=0xFFE00000
CONFIG_CPU_AMD_AGESA_BINARY_PI=y
CONFIG_AGESA_BINARY_PI_PATH_DEFAULT_SELECTED=y
CONFIG_AGESA_BINARY_PI_PATH="3rdparty/pi/amd/00630F01"
CONFIG_AGESA_BINARY_PI_FILE_DEFAULT_SELECTED=y
CONFIG_AGESA_BINARY_PI_FILE="FP3/AGESA.bin"
CONFIG_AGESA_BINARY_PI_LOCATION_DEFAULT_SELECTED=y
CONFIG_AGESA_BINARY_PI_LOCATION="0xFFE00000"
CONFIG_CPU_SOCKET_TYPE=0x10
CONFIG_CBB=0x0
CONFIG_CDB=0x18
CONFIG_XIP_ROM_SIZE=0x100000
CONFIG_DIMM_SUPPORT=0x0104
CONFIG_S3_DATA_POS=0xFFFF0000
CONFIG_S3_DATA_SIZE=32768
CONFIG_HIGH_SCRATCH_MEMORY_SIZE=0x71000
CONFIG_XIP_ROM_BASE=0xfff80000
CONFIG_CPU_AMD_PI=y
CONFIG_CPU_AMD_PI_00630F01=y
CONFIG_PLL_300_300_33=y
CONFIG_UDELAY_LAPIC=y
CONFIG_LAPIC_MONOTONIC_TIMER=y
CONFIG_TSC_SYNC_LFENCE=y
CONFIG_LOGICAL_CPUS=y
CONFIG_X86_AMD_FIXED_MTRRS=y
CONFIG_CACHE_AS_RAM=y
CONFIG_SMP=y
CONFIG_AP_SIPI_VECTOR=0xfffff000
CONFIG_CPU_MICROCODE_CBFS_NONE=y
CONFIG_MMCONF_BUS_NUMBER=64
CONFIG_VIDEO_MB=0
CONFIG_NORTHBRIDGE_AMD_PI=y
CONFIG_NORTHBRIDGE_AMD_PI_00630F01=y
CONFIG_MAX_PIRQ_LINKS=4
CONFIG_EHCI_BAR=0xfef00000
CONFIG_HUDSON_XHCI_ENABLE=y
CONFIG_HUDSON_XHCI_FWM=y
CONFIG_HUDSON_FWM=y
CONFIG_HUDSON_FWM_POSITION=0xFF820000
CONFIG_HUDSON_SATA_MODE=0
CONFIG_SOUTHBRIDGE_AMD_PI_BOLTON=y
CONFIG_HUDSON_DISABLE_IMC=y
CONFIG_SUPERIO_FINTEK_F81216H=y
CONFIG_TTYS0_BASE=0x3f8
CONFIG_NATIVE_VGA_INIT_USE_EDID=y
CONFIG_VGA_ROM_RUN=y
CONFIG_ON_DEVICE_ROM_RUN=y
CONFIG_PCI_OPTION_ROM_RUN_REALMODE=y
CONFIG_PCI=y
CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_DRIVERS_MC146818=y
CONFIG_DRIVERS_UART=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_HAVE_USBDEBUG=y
CONFIG_HAVE_USBDEBUG_OPTIONS=y
CONFIG_DEVICE_SPECIFIC_OPTIONS=y
CONFIG_RTC=y
CONFIG_STACK_SIZE=0x1000
CONFIG_MMCONF_SUPPORT=y
CONFIG_SQUELCH_EARLY_SMP=y
CONFIG_CONSOLE_SERIAL=y
CONFIG_CONSOLE_SERIAL_115200=y
CONFIG_TTYS0_BAUD=115200
CONFIG_CONSOLE_CBMEM=y
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
CONFIG_POST_DEVICE_NONE=y
CONFIG_POST_IO_PORT=0x80
CONFIG_HAVE_HARD_RESET=y
CONFIG_HAVE_MONOTONIC_TIMER=y
CONFIG_HAVE_OPTION_TABLE=y
CONFIG_PCI_IO_CFG_EXT=y
CONFIG_IOAPIC=y
CONFIG_VGA=y
CONFIG_GFXUMA=y
CONFIG_HAVE_ACPI_TABLES=y
CONFIG_HAVE_MP_TABLE=y
CONFIG_HAVE_PIRQ_TABLE=y
CONFIG_PER_DEVICE_ACPI_TABLES=y
CONFIG_GENERATE_MP_TABLE=y
CONFIG_GENERATE_PIRQ_TABLE=y
CONFIG_GENERATE_SMBIOS_TABLES=y
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="DB-FP3"
CONFIG_PAYLOAD_ELF=y
CONFIG_PAYLOAD_FILE="payload.elf"
CONFIG_COMPRESSED_PAYLOAD_LZMA=y
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_MAX_REBOOT_CNT=3
