Hi. The wiki page for seabios recommends configuring coreboot with CONFIG_VGA_BRIDGE_SETUP enabled and CONFIG_VGA_ROM_RUN disabled.
When building for the jetway j7f24 target, setting those two options in menuconfig results in the following error (after "make"):
CC cpu/intel/microcode/microcode.o AR coreboot.a CC coreboot_ram.o CC coreboot_ram build/coreboot_ram.o: In function `vga_init': vga.c:(.text+0x1968): undefined reference to `mainboard_interrupt_handlers' collect2: ld returned 1 exit status make: *** [build/coreboot_ram] Error 1
With both options enabled make finishes. I don't know much about kconfig, so I haven't been able to figure out where the problem is.
Here is my .config
robert@victoria:~/coreboot$ cat .config # # Automatically generated make config: don't edit # coreboot version: 4.0 # Sat Jul 31 19:50:30 2010 #
# # General setup # # CONFIG_EXPERT is not set CONFIG_LOCALVERSION="" CONFIG_CBFS_PREFIX="fallback" CONFIG_COMPILER_GCC=y # CONFIG_COMPILER_LLVM_CLANG is not set # CONFIG_SCANBUILD_ENABLE is not set # CONFIG_CCACHE is not set # CONFIG_USE_OPTION_TABLE is not set
# # Mainboard # # CONFIG_VENDOR_ABIT is not set # CONFIG_VENDOR_ADVANTECH is not set # CONFIG_VENDOR_AMD is not set # CONFIG_VENDOR_ARIMA is not set # CONFIG_VENDOR_ARTEC_GROUP is not set # CONFIG_VENDOR_ASI is not set # CONFIG_VENDOR_ASROCK is not set # CONFIG_VENDOR_ASUS is not set # CONFIG_VENDOR_A_TREND is not set # CONFIG_VENDOR_AXUS is not set # CONFIG_VENDOR_AZZA is not set # CONFIG_VENDOR_BCOM is not set # CONFIG_VENDOR_BIOSTAR is not set # CONFIG_VENDOR_BROADCOM is not set # CONFIG_VENDOR_COMPAQ is not set # CONFIG_VENDOR_DELL is not set # CONFIG_VENDOR_DIGITAL_LOGIC is not set # CONFIG_VENDOR_EAGLELION is not set # CONFIG_VENDOR_ECS is not set # CONFIG_VENDOR_EMULATION is not set # CONFIG_VENDOR_GETAC is not set # CONFIG_VENDOR_GIGABYTE is not set # CONFIG_VENDOR_HP is not set # CONFIG_VENDOR_IBASE is not set # CONFIG_VENDOR_IBM is not set # CONFIG_VENDOR_IEI is not set # CONFIG_VENDOR_INTEL is not set # CONFIG_VENDOR_IWILL is not set CONFIG_VENDOR_JETWAY=y # CONFIG_VENDOR_KONTRON is not set # CONFIG_VENDOR_LIPPERT is not set # CONFIG_VENDOR_MITAC is not set # CONFIG_VENDOR_MSI is not set # CONFIG_VENDOR_NEC is not set # CONFIG_VENDOR_NEWISYS is not set # CONFIG_VENDOR_NOKIA is not set # CONFIG_VENDOR_NVIDIA is not set # CONFIG_VENDOR_OLPC is not set # CONFIG_VENDOR_PC_ENGINES is not set # CONFIG_VENDOR_RCA is not set # CONFIG_VENDOR_RODA is not set # CONFIG_VENDOR_SOYO is not set # CONFIG_VENDOR_SUNW is not set # CONFIG_VENDOR_SUPERMICRO is not set # CONFIG_VENDOR_TECHNEXION is not set # CONFIG_VENDOR_TECHNOLOGIC is not set # CONFIG_VENDOR_TELEVIDEO is not set # CONFIG_VENDOR_THOMSON is not set # CONFIG_VENDOR_TRAVERSE is not set # CONFIG_VENDOR_TYAN is not set # CONFIG_VENDOR_VIA is not set # CONFIG_VENDOR_WINENT is not set # CONFIG_VENDOR_WYSE is not set CONFIG_MAINBOARD_VENDOR="Jetway" CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID=0x0 CONFIG_MAINBOARD_DIR="jetway/j7f24" CONFIG_MAINBOARD_PART_NUMBER="J7f24" CONFIG_IRQ_SLOT_COUNT=10 CONFIG_RAMBASE=0x4000 CONFIG_HAVE_HIGH_TABLES=y CONFIG_DCACHE_RAM_BASE=0xffef0000 CONFIG_DCACHE_RAM_SIZE=0x8000 CONFIG_DCACHE_RAM_GLOBAL_VAR_SIZE=0x0 CONFIG_MAX_CPUS=1 CONFIG_MAX_PHYSICAL_CPUS=1 CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID=0x0 CONFIG_RAMTOP=0x200000 CONFIG_HEAP_SIZE=0x4000 CONFIG_ACPI_SSDTX_NUM=0 CONFIG_SERIAL_CPU_INIT=y CONFIG_ID_SECTION_OFFSET=0x10 CONFIG_FALLBACK_VGA_BIOS_FILE="jwvgabios.rom" # CONFIG_PCI_64BIT_PREF_MEM is not set CONFIG_BOARD_JETWAY_J7F24=y CONFIG_GENERATE_PIRQ_TABLE=y CONFIG_LOGICAL_CPUS=y CONFIG_IOAPIC=y # CONFIG_SMP is not set CONFIG_STACK_SIZE=0x8000 CONFIG_TTYS0_BAUD=115200 CONFIG_TTYS0_BASE=0x3f8 CONFIG_TTYS0_LCS=3 CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 CONFIG_MAXIMUM_CONSOLE_LOGLEVEL=8 CONFIG_CONSOLE_SERIAL8250=y CONFIG_CONSOLE_VGA=y # CONFIG_PCI_ROM_RUN is not set # CONFIG_USBDEBUG is not set CONFIG_VAR_MTRR_HOLE=y # CONFIG_LIFT_BSP_APIC_ID is not set # CONFIG_WAIT_BEFORE_CPUS_INIT is not set # CONFIG_K8_REV_F_SUPPORT is not set CONFIG_FALLBACK_VGA_BIOS_ID="1106,3344" CONFIG_BOARD_ROMSIZE_KB_512=y # CONFIG_COREBOOT_ROMSIZE_KB_128 is not set CONFIG_COREBOOT_ROMSIZE_KB_256=y # CONFIG_COREBOOT_ROMSIZE_KB_512 is not set # CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set # CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set # CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set CONFIG_COREBOOT_ROMSIZE_KB=256 CONFIG_ROM_SIZE=0x40000 CONFIG_ARCH_X86=y # CONFIG_AP_IN_SIPI_WAIT is not set CONFIG_ARCH="i386" CONFIG_ROMBASE=0xffff0000 CONFIG_ROM_IMAGE_SIZE=0x10000 CONFIG_MAX_REBOOT_CNT=3 # CONFIG_TINY_BOOTBLOCK is not set CONFIG_BIG_BOOTBLOCK=y # CONFIG_ROMCC is not set CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/via/vt8237r/bootblock.c"
# # Chipset #
# # CPU # CONFIG_XIP_ROM_BASE=0xffff0000 CONFIG_XIP_ROM_SIZE=0x10000 CONFIG_CPU_ADDR_BITS=36 # CONFIG_UDELAY_IO is not set CONFIG_SSE2=y CONFIG_CPU_VIA_C7=y # CONFIG_UDELAY_LAPIC is not set CONFIG_UDELAY_TSC=y # CONFIG_TSC_X86RDTSC_CALIBRATE_WITH_TIMER2 is not set CONFIG_USE_DCACHE_RAM=y CONFIG_MMX=y
# # Northbridge # CONFIG_VIDEO_MB=32 CONFIG_NORTHBRIDGE_VIA_CN700=y CONFIG_FALLBACK_SIZE=0 # CONFIG_CN700_VIDEO_MB_OFF is not set # CONFIG_CN700_VIDEO_MB_8MB is not set # CONFIG_CN700_VIDEO_MB_16MB is not set CONFIG_CN700_VIDEO_MB_32MB=y # CONFIG_CN700_VIDEO_MB_64MB is not set # CONFIG_CN700_VIDEO_MB_128MB is not set
# # Southbridge # CONFIG_SOUTHBRIDGE_VIA_VT8237R=y # CONFIG_EPIA_VT8237R_INIT is not set
# # Super I/O # CONFIG_SUPERIO_FINTEK_F71805F=y
# # Devices # CONFIG_VGA_BRIDGE_SETUP=y # CONFIG_VGA_ROM_RUN is not set # CONFIG_PCI_OPTION_ROM_RUN_REALMODE is not set # CONFIG_PCI_OPTION_ROM_RUN_YABEL is not set # CONFIG_CONSOLE_VGA_MULTI is not set # CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set CONFIG_PCIX_PLUGIN_SUPPORT=y CONFIG_PCIEXP_PLUGIN_SUPPORT=y CONFIG_AGP_PLUGIN_SUPPORT=y CONFIG_CARDBUS_PLUGIN_SUPPORT=y
# # Generic Drivers # # CONFIG_DRIVERS_SIL is not set CONFIG_PCI_BUS_SEGN_BITS=0 CONFIG_USE_PRINTK_IN_CAR=y # CONFIG_MMCONF_SUPPORT_DEFAULT is not set # CONFIG_MMCONF_SUPPORT is not set
# # Console options # CONFIG_CONSOLE_SERIAL_COM1=y # CONFIG_CONSOLE_SERIAL_COM2 is not set # CONFIG_CONSOLE_SERIAL_COM3 is not set # CONFIG_CONSOLE_SERIAL_COM4 is not set CONFIG_CONSOLE_SERIAL_115200=y # CONFIG_CONSOLE_SERIAL_57600 is not set # CONFIG_CONSOLE_SERIAL_38400 is not set # CONFIG_CONSOLE_SERIAL_19200 is not set # CONFIG_CONSOLE_SERIAL_9600 is not set CONFIG_CONSOLE_VGA_ONBOARD_AT_FIRST=y CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_8=y # CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_7 is not set # CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_6 is not set # CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_5 is not set # CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_4 is not set # CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_3 is not set # CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_2 is not set # CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_1 is not set # CONFIG_MAXIMUM_CONSOLE_LOGLEVEL_0 is not set CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set # CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set # CONFIG_CONSOLE_BTEXT is not set # CONFIG_CONSOLE_SROM is not set # CONFIG_CONSOLE_LOGBUF is not set # CONFIG_NO_POST is not set CONFIG_SERIAL_POST=y # CONFIG_HAVE_ACPI_RESUME is not set # CONFIG_HAVE_ACPI_SLIC is not set # CONFIG_HAVE_HARD_RESET is not set CONFIG_HAVE_INIT_TIMER=y # CONFIG_HAVE_MAINBOARD_RESOURCES is not set CONFIG_HAVE_OPTION_TABLE=y # CONFIG_PIRQ_ROUTE is not set # CONFIG_HAVE_SMI_HANDLER is not set # CONFIG_PCI_IO_CFG_EXT is not set # CONFIG_USE_WATCHDOG_ON_BOOT is not set # CONFIG_VGA is not set # CONFIG_GFXUMA is not set CONFIG_HAVE_LOW_TABLES=y CONFIG_HAVE_PIRQ_TABLE=y # CONFIG_GENERATE_ACPI_TABLES is not set # CONFIG_GENERATE_MP_TABLE is not set CONFIG_WRITE_HIGH_TABLES=y
# # System tables # CONFIG_MULTIBOOT=y
# # Payload # # CONFIG_PAYLOAD_NONE is not set CONFIG_PAYLOAD_ELF=y CONFIG_FALLBACK_PAYLOAD_FILE="/home/robert/seabios/out/bios.bin.elf" CONFIG_COMPRESSED_PAYLOAD_LZMA=y # CONFIG_COMPRESSED_PAYLOAD_NRV2B is not set
# # VGA BIOS # CONFIG_VGA_BIOS=y
# # Debugging # CONFIG_GDB_STUB=y CONFIG_DEBUG_RAM_SETUP=y # CONFIG_DEBUG_PIRQ is not set CONFIG_DEBUG_SMBUS=y # CONFIG_LLSHELL is not set # CONFIG_AP_CODE_IN_CAR is not set # CONFIG_ENABLE_APIC_EXT_ID is not set # CONFIG_WARNINGS_ARE_ERRORS is not set # CONFIG_BOARD_HAS_HARD_RESET is not set # CONFIG_BOARD_HAS_FADT is not set # CONFIG_HAVE_BUS_CONFIG is not set
Rob Austin
On 8/1/10 7:13 AM, austinro@msu.edu wrote:
Hi. The wiki page for seabios recommends configuring coreboot with CONFIG_VGA_BRIDGE_SETUP enabled and CONFIG_VGA_ROM_RUN disabled.
When building for the jetway j7f24 target, setting those two options in menuconfig results in the following error (after "make"):
CC cpu/intel/microcode/microcode.o AR coreboot.a CC coreboot_ram.o CC coreboot_ram
build/coreboot_ram.o: In function `vga_init': vga.c:(.text+0x1968): undefined reference to `mainboard_interrupt_handlers' collect2: ld returned 1 exit status make: *** [build/coreboot_ram] Error 1
With both options enabled make finishes. I don't know much about kconfig, so I haven't been able to figure out where the problem is.
Here is my .config
You also need to disable CONFIG_PCI_ROM_RUN.
The behavior here was slightly changed over time, so we probably should fix the documentation. We should also fix the code. Compilation errors are not so nice.
Stefan
Quoting Stefan Reinauer stefan.reinauer@coresystems.de:
On 8/1/10 7:13 AM, austinro@msu.edu wrote:
Hi. The wiki page for seabios recommends configuring coreboot with CONFIG_VGA_BRIDGE_SETUP enabled and CONFIG_VGA_ROM_RUN disabled.
When building for the jetway j7f24 target, setting those two options in menuconfig results in the following error (after "make"):
CC cpu/intel/microcode/microcode.o AR coreboot.a CC coreboot_ram.o CC coreboot_ram build/coreboot_ram.o: In function `vga_init': vga.c:(.text+0x1968): undefined reference to `mainboard_interrupt_handlers' collect2: ld returned 1 exit status make: *** [build/coreboot_ram] Error 1
With both options enabled make finishes. I don't know much about kconfig, so I haven't been able to figure out where the problem is.
Here is my .config
You also need to disable CONFIG_PCI_ROM_RUN.
The behavior here was slightly changed over time, so we probably should fix the documentation. We should also fix the code. Compilation errors are not so nice.
Stefan
Yes, the documentation does say to disable CONFIG_PCI_ROM_RUN, which I did, but I didn't mention that because it seemed irrelevant. After trying different combinations, I see make fails when CONFIG_VGA_BRIDGE_SETUP is enabled and both CONFIG_PCI_ROM_RUN and CONFIG_VGA_ROM_RUN are disabled (the recommended combination), but works if either _ROM_RUN option is enable.
Should be fairly simple to fix, so I guess it's time for me to learn how kconfig works.
Rob Austin
Okay, I found the problem. CONFIG_VGA_BRIDGE_SETUP builds vga.c, which needs mainboard_interrupt_handlers from devices/oprom/x86.c, which wasn't being built unless one of the *_ROM_RUN files were enabled.
Patch is attached. Signed-off-by: Robert Austin austinro@msu.edu
Quoting austinro@msu.edu:
Quoting Stefan Reinauer stefan.reinauer@coresystems.de:
On 8/1/10 7:13 AM, austinro@msu.edu wrote:
Hi. The wiki page for seabios recommends configuring coreboot with CONFIG_VGA_BRIDGE_SETUP enabled and CONFIG_VGA_ROM_RUN disabled.
When building for the jetway j7f24 target, setting those two options in menuconfig results in the following error (after "make"):
CC cpu/intel/microcode/microcode.o AR coreboot.a CC coreboot_ram.o CC coreboot_ram build/coreboot_ram.o: In function `vga_init': vga.c:(.text+0x1968): undefined reference to `mainboard_interrupt_handlers' collect2: ld returned 1 exit status make: *** [build/coreboot_ram] Error 1
With both options enabled make finishes. I don't know much about kconfig, so I haven't been able to figure out where the problem is.
Here is my .config
You also need to disable CONFIG_PCI_ROM_RUN.
The behavior here was slightly changed over time, so we probably should fix the documentation. We should also fix the code. Compilation errors are not so nice.
Stefan
Yes, the documentation does say to disable CONFIG_PCI_ROM_RUN, which I did, but I didn't mention that because it seemed irrelevant. After trying different combinations, I see make fails when CONFIG_VGA_BRIDGE_SETUP is enabled and both CONFIG_PCI_ROM_RUN and CONFIG_VGA_ROM_RUN are disabled (the recommended combination), but works if either _ROM_RUN option is enable.
Should be fairly simple to fix, so I guess it's time for me to learn how kconfig works.
Rob Austin
On Sun, Aug 1, 2010 at 7:43 PM, austinro@msu.edu wrote:
Okay, I found the problem. CONFIG_VGA_BRIDGE_SETUP builds vga.c, which needs mainboard_interrupt_handlers from devices/oprom/x86.c, which wasn't being built unless one of the *_ROM_RUN files were enabled.
I think you really wanted to disable the building of vga.c. There's no need for it if SeaBIOS handles the option ROMs.
Patch attached.
Signed-off-by: Myles Watson mylesgw@gmail.com
Thanks, Myles
On Mon, Aug 02, 2010 at 07:59:17AM -0600, Myles Watson wrote:
On Sun, Aug 1, 2010 at 7:43 PM, austinro@msu.edu wrote:
Okay, I found the problem. CONFIG_VGA_BRIDGE_SETUP builds vga.c, which needs mainboard_interrupt_handlers from devices/oprom/x86.c, which wasn't being built unless one of the *_ROM_RUN files were enabled.
I think you really wanted to disable the building of vga.c. There's no need for it if SeaBIOS handles the option ROMs.
Patch attached.
Signed-off-by: Myles Watson mylesgw@gmail.com
Works for me!
Acked by: Kevin O'Connor kevin@koconnor.net
-Kevin
Signed-off-by: Myles Watson mylesgw@gmail.com
Works for me!
Acked by: Kevin O'Connor kevin@koconnor.net
Rev 5680.
Thanks, Myles