[coreboot] Some questions about SeaBIOS's native VGA drivers.

Denis 'GNUtoo' Carikli GNUtoo at no-log.org
Thu Feb 21 10:09:43 CET 2013


Hi,

I'd like to replace the lenovo x60(supported by coreboot)
non-free VGA option rom: I don't use it right now but that has
serious drawbacks:
* No graphics at all until the i915 kernel module is loaded (really
  user unfriendly), my main motivation to replace it...
* No backlight control
* nvramtool doesn't work anymore without using the -y option (not
  really important).

I've created stub in SeaBIOS(there is an attached patch for that) for
the i915 driver(it will be filled in later), however I don't know how to
run the code:
* I guess it creates an option rom that is in out/vgabios.bin and that
  I've to include it trough one of the various ways(let seabios pick
  it, run it in coreboot, run it in coreboot trough YABEL for
  debugging etc...)? right? romheaders seem to think that the option
  rom is valid(more on it later). I guess YABEL also thinks it's valid.
  I guess SeaBIOS out/bios.bin.elf doesn't link that option rom inside
  SeaBIOS...
* it doesn't print a thing, I've CONFIG_DEBUG_LEVEL=2 and there is the
  following in the driver stub:
  dprintf(1, "i915vga_setup: VGA init...\n");

So I've tried the YABEL way with debugging enabled and here's the
result:
[...]
Normal boot.
PCI: 00:02.0 init
CBFS: Looking for 'pci8086,27a2.rom' starting from 0x0.
CBFS:  (unmatched file @0x0: cmos_layout.bin)
CBFS:  (unmatched file @0x640: fallback/romstage)
CBFS:  (unmatched file @0xb500: fallback/coreboot_ram)
CBFS:  (unmatched file @0x2d200: fallback/payload)
CBFS:  (unmatched file @0x39a80: config)
CBFS:  (unmatched file @0x3a9c0: )
CBFS:  (unmatched file @0x3ff80: normal/romstage)
CBFS:  (unmatched file @0x4ae80: normal/coreboot_ram)
CBFS:  (unmatched file @0x6cb80: normal/payload)
CBFS: Found file (offset=0x79af8, len=33280).
In CBFS, ROM address for PCI: 00:02.0 = ffe79af8
PCI expansion ROM, signature 0xaa55, INIT size 0x8200, data ptr 0x4930
PCI ROM image, vendor ID 8086, device ID 27a2,
PCI ROM image, Class Code 030000, Code Type 00
Copying VGA ROM Image from ffe79af8 to 0xc0000, 0x8200 bytes
[long wait]
PCI: 00:02.1 init
CBFS: Looking for 'cmos_layout.bin' starting from 0x0.
CBFS: Found file (offset=0x28, len=1560).
PCI: 00:1b.0 init
[...]

It doesn't seem to print a thing...and YABEL is pretty silent and
should really not be that silent according to the YABEL debug options:
CONFIG_X86EMU_DEBUG=y
CONFIG_X86EMU_DEBUG_JMP=y
# CONFIG_X86EMU_DEBUG_TRACE is not set
CONFIG_X86EMU_DEBUG_PNP=y
CONFIG_X86EMU_DEBUG_DISK=y
CONFIG_X86EMU_DEBUG_PMM=y
CONFIG_X86EMU_DEBUG_VBE=y
CONFIG_X86EMU_DEBUG_INT10=y
CONFIG_X86EMU_DEBUG_INTERRUPTS=y
CONFIG_X86EMU_DEBUG_CHECK_VMEM_ACCESS=y
CONFIG_X86EMU_DEBUG_MEM=y
CONFIG_X86EMU_DEBUG_IO=y

Denis.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-i915-VGA-Stub.patch
Type: text/x-patch
Size: 2900 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20130221/68db986f/attachment.patch>


More information about the coreboot mailing list