# This image was built using git revision 755615a12310469b34fc4804bcf2622eb587949c
CONFIG_LOCALVERSION="GNUtoo@no-log.org"
CONFIG_CBFS_PREFIX="fallback"
CONFIG_COMPILER_GCC=y
CONFIG_USE_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_USE_BLOBS=y
CONFIG_VENDOR_PCENGINES=y
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_DIR="pcengines/alix1c"
CONFIG_MAINBOARD_PART_NUMBER="ALIX.1C"
CONFIG_IRQ_SLOT_COUNT=5
CONFIG_MAINBOARD_VENDOR="PC Engines"
CONFIG_MAX_CPUS=1
CONFIG_RAMTOP=0x200000
CONFIG_HEAP_SIZE=0x4000
CONFIG_RAMBASE=0x100000
CONFIG_DRIVERS_PS2_KEYBOARD=y
CONFIG_DCACHE_RAM_BASE=0xc8000
CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_ACPI_SSDTX_NUM=0
CONFIG_UART_FOR_CONSOLE=0
CONFIG_ID_SECTION_OFFSET=0x80
CONFIG_STACK_SIZE=0x1000
CONFIG_CACHE_ROM_SIZE_OVERRIDE=0
CONFIG_CBFS_SIZE=0x80000
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="PC Engines"
CONFIG_MAINBOARD_VERSION="1.0"
CONFIG_CPU_ADDR_BITS=36
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8
CONFIG_BOARD_PCENGINES_ALIX1C=y
CONFIG_BOARD_ROMSIZE_KB_512=y
CONFIG_COREBOOT_ROMSIZE_KB_512=y
CONFIG_COREBOOT_ROMSIZE_KB=512
CONFIG_ROM_SIZE=0x80000
CONFIG_MAINBOARD_SERIAL_NUMBER="GNUtoo@no-log.org"
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="ALIX.1C"
CONFIG_ARCH_X86=y
CONFIG_ARCH_BOOTBLOCK_X86_32=y
CONFIG_ARCH_ROMSTAGE_X86_32=y
CONFIG_ARCH_RAMSTAGE_X86_32=y
CONFIG_NUM_IPI_STARTS=2
CONFIG_PC80_SYSTEM=y
CONFIG_HAVE_CMOS_DEFAULT=y
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
CONFIG_HPET_ADDRESS=0xfed00000
CONFIG_BOOTBLOCK_SIMPLE=y
CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c"
CONFIG_CPU_SPECIFIC_OPTIONS=y
CONFIG_XIP_ROM_SIZE=0x10000
CONFIG_GEODE_VSA=y
CONFIG_GEODE_VSA_FILE=y
CONFIG_VSA_FILENAME="3rdparty/cpu/amd/geode_lx/gpl_vsa_lx_102.bin"
CONFIG_CPU_AMD_GEODE_LX=y
CONFIG_SMM_TSEG_SIZE=0
CONFIG_UDELAY_TSC=y
CONFIG_TSC_MONOTONIC_TIMER=y
CONFIG_LOGICAL_CPUS=y
CONFIG_CACHE_AS_RAM=y
CONFIG_AP_SIPI_VECTOR=0xfffff000
CONFIG_CPU_MICROCODE_CBFS_NONE=y
CONFIG_VIDEO_MB=8
CONFIG_NORTHBRIDGE_AMD_LX=y
CONFIG_MAX_PIRQ_LINKS=4
CONFIG_SOUTHBRIDGE_AMD_CS5536=y
CONFIG_SUPERIO_WINBOND_COMMON_ROMSTAGE=y
CONFIG_SUPERIO_WINBOND_W83627HF=y
CONFIG_PCI_OPTION_ROM_RUN_REALMODE=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_PCI_BUS_SEGN_BITS=0
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
CONFIG_DRIVERS_SIL_3114=y
CONFIG_DRIVERS_UART=y
CONFIG_DRIVERS_UART_8250IO=y
CONFIG_SQUELCH_EARLY_SMP=y
CONFIG_CONSOLE_SERIAL=y
CONFIG_TTYS0_BASE=0x3f8
CONFIG_CONSOLE_SERIAL_115200=y
CONFIG_TTYS0_BAUD=115200
CONFIG_TTYS0_LCS=3
CONFIG_CONSOLE_CBMEM=y
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x10000
CONFIG_CONSOLE_CAR_BUFFER_SIZE=0xc00
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
CONFIG_NO_POST=y
CONFIG_HAVE_MONOTONIC_TIMER=y
CONFIG_HAVE_OPTION_TABLE=y
CONFIG_PIRQ_ROUTE=y
CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_PIRQ_TABLE=y
CONFIG_GENERATE_PIRQ_TABLE=y
CONFIG_GENERATE_SMBIOS_TABLES=y
CONFIG_PAYLOAD_SEABIOS=y
CONFIG_SEABIOS_STABLE=y
CONFIG_PAYLOAD_FILE="$(obj)/seabios/out/bios.bin.elf"
CONFIG_COMPRESSED_PAYLOAD_LZMA=y
CONFIG_WARNINGS_ARE_ERRORS=y
CONFIG_POWER_BUTTON_DEFAULT_DISABLE=y
CONFIG_POWER_BUTTON_IS_OPTIONAL=y
CONFIG_REG_SCRIPT=y
CONFIG_MAX_REBOOT_CNT=3
