Am Montag, den 06.10.2014, 13:13 +0200 schrieb Gerd Hoffmann:
On So, 2014-10-05 at 10:24 +0200, Paul Menzel wrote:
testing QEMU with coreboot built from commit a296f9e3 (Kconfig: Allow native vga init to be selectable for SeaBIOS payload) [1] and SeaBIOS and SeaVGABIOS (selected in coreboot’s Payload menu), SeaBIOS does not display any graphics although the console says, it has initialized it.
WorksForMe. I suspect some config issue. www.kraxel.org/repos/ has rpms with working builds.
Usage:
qemu-system-x86_64 -m pc \ -bios /usr/share/coreboot.git/coreboot-i440fx-seabios.rom \ -device VGA,romfile=
There is a typo in the switch. It has to be `-M` instead of `-m`.
With your line, it works! The font is looking strange (stretched) but besides that graphics is shown in the QEMU window.
$ qemu-system-i386 -M pc \ -bios build/coreboot.rom \ -hda /dev/zero \ -serial stdio \ -device VGA,romfile=
Testing my command from yesterday again, it works now too. Very strange. I’ll retest everything in the next days.
build configs attached.
Thanks. I was not sure if you actually use SeaVGABIOS though as you directly include a payload file.
Thanks,
Paul
$ qemu-system-i386 -version QEMU emulator version 2.1.2 (Debian 2.1+dfsg-5), Copyright (c) 2003-2008 Fabrice Bellard $ qemu-system-i386 -M pc -bios build/coreboot.rom -hda /dev/zero -serial stdio -device VGA,romfile= QEMU debugcon not found [port 0x402]
coreboot-4.0-6998-ga296f9e Sat Oct 4 16:58:06 CEST 2014 starting... CBMEM: root @ 07fff000 254 entries. Trying CBFS ramstage loader. CBFS: loading stage fallback/ramstage @ 0x100000 (192588 bytes), entry @ 0x100000 QEMU debugcon not found [port 0x402] coreboot-4.0-6998-ga296f9e Sat Oct 4 16:58:06 CEST 2014 booting... CBMEM: recovering 5/254 entries from root @ 07fff000 Moving GDT to 07fdb000...ok Enumerating buses... Show all devs...Before device enumeration. Root Device: enabled 1 CPU_CLUSTER: 0: enabled 1 APIC: 00: enabled 1 DOMAIN: 0000: enabled 1 PCI: 00:00.0: enabled 1 PCI: 00:01.0: enabled 1 PCI: 00:01.1: enabled 1 PCI: 00:01.3: enabled 1 Compare with tree... Root Device: enabled 1 CPU_CLUSTER: 0: enabled 1 APIC: 00: enabled 1 DOMAIN: 0000: enabled 1 PCI: 00:00.0: enabled 1 PCI: 00:01.0: enabled 1 PCI: 00:01.1: enabled 1 PCI: 00:01.3: enabled 1 scan_static_bus for Root Device CPU_CLUSTER: 0 enabled DOMAIN: 0000 enabled CPU_CLUSTER: 0 scanning... QEMU: firmware config interface detected QEMU: max_cpus is 1 CPU: APIC: 00 enabled DOMAIN: 0000 scanning... PCI: pci_scan_bus for bus 00 PCI: 00:00.0 [8086/1237] ops PCI: 00:00.0 [8086/1237] enabled PCI: 00:01.0 [8086/7000] bus ops PCI: 00:01.0 [8086/7000] enabled PCI: 00:01.1 [8086/7010] ops PCI: 00:01.1 [8086/7010] enabled PCI: 00:01.3 [8086/7113] bus ops PCI: 00:01.3 [8086/7113] enabled PCI: 00:02.0 [8086/100e] enabled PCI: 00:03.0 [1234/1111] ops PCI: 00:03.0 [1234/1111] enabled scan_static_bus for PCI: 00:01.0 scan_static_bus for PCI: 00:01.0 done scan_static_bus for PCI: 00:01.3 scan_static_bus for PCI: 00:01.3 done PCI: pci_scan_bus returning with max=001 scan_static_bus for Root Device done done found VGA at PCI: 00:03.0 Setting up VGA for PCI: 00:03.0 Setting PCI_BRIDGE_CTL_VGA for bridge DOMAIN: 0000 Setting PCI_BRIDGE_CTL_VGA for bridge Root Device Allocating resources... Reading resources... Root Device read_resources bus 0 link: 0 CPU_CLUSTER: 0 read_resources bus 0 link: 0 APIC: 00 missing read_resources CPU_CLUSTER: 0 read_resources bus 0 link: 0 done QEMU: 10 files in fw_cfg QEMU: etc/boot-fail-wait [size=4] QEMU: etc/smbios/smbios-tables [size=320] QEMU: etc/smbios/smbios-anchor [size=31] QEMU: etc/e820 [size=20] QEMU: genroms/kvmvapic.bin [size=9216] QEMU: etc/system-states [size=6] QEMU: bootorder [size=0] QEMU: etc/acpi/tables [size=131072] QEMU: etc/table-loader [size=4096] QEMU: etc/acpi/rsdp [size=36] QEMU: e820/ram: 0x00000000 +0x08000000 QEMU: reserve ioports 0x0510-0x0511 [firmware-config] QEMU: reserve ioports 0x5658-0x5658 [vmware-port] QEMU: reserve ioports 0xae00-0xae0f [pci-hotplug] QEMU: reserve ioports 0xaf00-0xaf1f [cpu-hotplug] QEMU: reserve ioports 0xafe0-0xafe3 [piix4-gpe0] DOMAIN: 0000 read_resources bus 0 link: 0 DOMAIN: 0000 read_resources bus 0 link: 0 done Root Device read_resources bus 0 link: 0 done Done reading resources. Show resources in subtree (Root Device)...After reading. Root Device child on link 0 CPU_CLUSTER: 0 CPU_CLUSTER: 0 child on link 0 APIC: 00 APIC: 00 DOMAIN: 0000 child on link 0 PCI: 00:00.0 DOMAIN: 0000 resource base 0 size 0 align 0 gran 0 limit ffff flags 40040100 index 10000000 DOMAIN: 0000 resource base 0 size 0 align 0 gran 0 limit ffffffff flags 40040200 index 10000100 DOMAIN: 0000 resource base 0 size a0000 align 0 gran 0 limit 0 flags e0004200 index a DOMAIN: 0000 resource base c0000 size 7f40000 align 0 gran 0 limit 0 flags e0004200 index b DOMAIN: 0000 resource base 510 size 2 align 0 gran 0 limit ffff flags e0000100 index c DOMAIN: 0000 resource base 5658 size 1 align 0 gran 0 limit ffff flags e0000100 index d DOMAIN: 0000 resource base ae00 size 10 align 0 gran 0 limit ffff flags e0000100 index e DOMAIN: 0000 resource base af00 size 20 align 0 gran 0 limit ffff flags e0000100 index f DOMAIN: 0000 resource base afe0 size 4 align 0 gran 0 limit ffff flags e0000100 index 10 DOMAIN: 0000 resource base fec00000 size 100000 align 0 gran 0 limit ffffffff flags e0000200 index 2 DOMAIN: 0000 resource base fee00000 size 10000 align 0 gran 0 limit ffffffff flags e0000200 index 3 PCI: 00:00.0 PCI: 00:01.0 PCI: 00:01.0 resource base 0 size 1000 align 0 gran 0 limit ffff flags c0000100 index 1 PCI: 00:01.0 resource base ff800000 size 800000 align 0 gran 0 limit 0 flags d0000200 index 2 PCI: 00:01.1 PCI: 00:01.1 resource base 0 size 10 align 4 gran 4 limit ffff flags 100 index 20 PCI: 00:01.3 PCI: 00:01.3 resource base e400 size 40 align 0 gran 0 limit ffff flags d0000100 index 1 PCI: 00:01.3 resource base f00 size 10 align 0 gran 0 limit ffff flags d0000100 index 2 PCI: 00:02.0 PCI: 00:02.0 resource base 0 size 20000 align 17 gran 17 limit ffffffff flags 200 index 10 PCI: 00:02.0 resource base 0 size 40 align 6 gran 6 limit ffff flags 100 index 14 PCI: 00:02.0 resource base 0 size 40000 align 18 gran 18 limit ffffffff flags 2200 index 30 PCI: 00:03.0 PCI: 00:03.0 resource base 0 size 1000000 align 24 gran 24 limit ffffffff flags 1200 index 10 PCI: 00:03.0 resource base 0 size 1000 align 12 gran 12 limit ffffffff flags 200 index 18 DOMAIN: 0000 compute_resources_io: base: 0 size: 0 align: 0 gran: 0 limit: ffff PCI: 00:02.0 14 * [0x0 - 0x3f] io PCI: 00:01.1 20 * [0x40 - 0x4f] io DOMAIN: 0000 compute_resources_io: base: 50 size: 50 align: 6 gran: 0 limit: ffff done DOMAIN: 0000 compute_resources_mem: base: 0 size: 0 align: 0 gran: 0 limit: ffffffff PCI: 00:03.0 10 * [0x0 - 0xffffff] prefmem PCI: 00:02.0 30 * [0x1000000 - 0x103ffff] mem PCI: 00:02.0 10 * [0x1040000 - 0x105ffff] mem PCI: 00:03.0 18 * [0x1060000 - 0x1060fff] mem DOMAIN: 0000 compute_resources_mem: base: 1061000 size: 1061000 align: 24 gran: 0 limit: ffffffff done avoid_fixed_resources: DOMAIN: 0000 avoid_fixed_resources:@DOMAIN: 0000 10000000 limit 0000ffff avoid_fixed_resources:@DOMAIN: 0000 10000100 limit ffffffff constrain_resources: DOMAIN: 0000 constrain_resources: PCI: 00:00.0 constrain_resources: PCI: 00:01.0 constrain_resources: PCI: 00:01.1 constrain_resources: PCI: 00:01.3 constrain_resources: PCI: 00:02.0 constrain_resources: PCI: 00:03.0 avoid_fixed_resources2: DOMAIN: 0000@10000000 limit 0000ffff lim->base 00005659 lim->limit 0000adff avoid_fixed_resources2: DOMAIN: 0000@10000100 limit ffffffff lim->base 08000000 lim->limit febfffff Setting resources... DOMAIN: 0000 allocate_resources_io: base:5659 size:50 align:6 gran:0 limit:adff Assigned: PCI: 00:02.0 14 * [0x5800 - 0x583f] io Assigned: PCI: 00:01.1 20 * [0x5840 - 0x584f] io DOMAIN: 0000 allocate_resources_io: next_base: 5850 size: 50 align: 6 gran: 0 done DOMAIN: 0000 allocate_resources_mem: base:fd000000 size:1061000 align:24 gran:0 limit:febfffff Assigned: PCI: 00:03.0 10 * [0xfd000000 - 0xfdffffff] prefmem Assigned: PCI: 00:02.0 30 * [0xfe000000 - 0xfe03ffff] mem Assigned: PCI: 00:02.0 10 * [0xfe040000 - 0xfe05ffff] mem Assigned: PCI: 00:03.0 18 * [0xfe060000 - 0xfe060fff] mem DOMAIN: 0000 allocate_resources_mem: next_base: fe061000 size: 1061000 align: 24 gran: 0 done Root Device assign_resources, bus 0 link: 0 DOMAIN: 0000 assign_resources, bus 0 link: 0 PCI: 00:01.1 20 <- [0x0000005840 - 0x000000584f] size 0x00000010 gran 0x04 io PCI: 00:02.0 10 <- [0x00fe040000 - 0x00fe05ffff] size 0x00020000 gran 0x11 mem PCI: 00:02.0 14 <- [0x0000005800 - 0x000000583f] size 0x00000040 gran 0x06 io PCI: 00:02.0 30 <- [0x00fe000000 - 0x00fe03ffff] size 0x00040000 gran 0x12 romem PCI: 00:03.0 10 <- [0x00fd000000 - 0x00fdffffff] size 0x01000000 gran 0x18 prefmem PCI: 00:03.0 18 <- [0x00fe060000 - 0x00fe060fff] size 0x00001000 gran 0x0c mem DOMAIN: 0000 assign_resources, bus 0 link: 0 Root Device assign_resources, bus 0 link: 0 Done setting resources. Show resources in subtree (Root Device)...After assigning values. Root Device child on link 0 CPU_CLUSTER: 0 CPU_CLUSTER: 0 child on link 0 APIC: 00 APIC: 00 DOMAIN: 0000 child on link 0 PCI: 00:00.0 DOMAIN: 0000 resource base 5659 size 50 align 6 gran 0 limit adff flags 40040100 index 10000000 DOMAIN: 0000 resource base fd000000 size 1061000 align 24 gran 0 limit febfffff flags 40040200 index 10000100 DOMAIN: 0000 resource base 0 size a0000 align 0 gran 0 limit 0 flags e0004200 index a DOMAIN: 0000 resource base c0000 size 7f40000 align 0 gran 0 limit 0 flags e0004200 index b DOMAIN: 0000 resource base 510 size 2 align 0 gran 0 limit ffff flags e0000100 index c DOMAIN: 0000 resource base 5658 size 1 align 0 gran 0 limit ffff flags e0000100 index d DOMAIN: 0000 resource base ae00 size 10 align 0 gran 0 limit ffff flags e0000100 index e DOMAIN: 0000 resource base af00 size 20 align 0 gran 0 limit ffff flags e0000100 index f DOMAIN: 0000 resource base afe0 size 4 align 0 gran 0 limit ffff flags e0000100 index 10 DOMAIN: 0000 resource base fec00000 size 100000 align 0 gran 0 limit ffffffff flags e0000200 index 2 DOMAIN: 0000 resource base fee00000 size 10000 align 0 gran 0 limit ffffffff flags e0000200 index 3 PCI: 00:00.0 PCI: 00:01.0 PCI: 00:01.0 resource base 0 size 1000 align 0 gran 0 limit ffff flags c0000100 index 1 PCI: 00:01.0 resource base ff800000 size 800000 align 0 gran 0 limit 0 flags d0000200 index 2 PCI: 00:01.1 PCI: 00:01.1 resource base 5840 size 10 align 4 gran 4 limit adff flags 60000100 index 20 PCI: 00:01.3 PCI: 00:01.3 resource base e400 size 40 align 0 gran 0 limit ffff flags d0000100 index 1 PCI: 00:01.3 resource base f00 size 10 align 0 gran 0 limit ffff flags d0000100 index 2 PCI: 00:02.0 PCI: 00:02.0 resource base fe040000 size 20000 align 17 gran 17 limit febfffff flags 60000200 index 10 PCI: 00:02.0 resource base 5800 size 40 align 6 gran 6 limit adff flags 60000100 index 14 PCI: 00:02.0 resource base fe000000 size 40000 align 18 gran 18 limit febfffff flags 60002200 index 30 PCI: 00:03.0 PCI: 00:03.0 resource base fd000000 size 1000000 align 24 gran 24 limit febfffff flags 60001200 index 10 PCI: 00:03.0 resource base fe060000 size 1000 align 12 gran 12 limit febfffff flags 60000200 index 18 Done allocating resources. Enabling resources... PCI: 00:00.0 cmd <- 00 PCI: 00:01.0 cmd <- 00 PCI: 00:01.1 cmd <- 01 PCI: 00:01.3 cmd <- 00 PCI: 00:02.0 cmd <- 03 PCI: 00:03.0 cmd <- 03 done. Initializing devices... Root Device init CPU_CLUSTER: 0 init Initializing CPU #0 CPU: vendor Intel device 663 CPU: family 06, model 06, stepping 03 CPU #0 initialized PCI: 00:00.0 init Assigning IRQ 10 to 0:1.3 Assigning IRQ 10 to 0:2.0 PCI: 00:01.0 init RTC Init PCI: 00:01.1 init IDE: Primary IDE interface: on IDE: Secondary IDE interface: on IDE: Access to legacy IDE ports: off PCI: 00:02.0 init PCI: 00:03.0 init QEMU VGA: bochs dispi interface found, 16 MiB video memory QEMU VGA: framebuffer @ fd000000 (pci bar 0) Devices initialized Show all devs...After init. Root Device: enabled 1 CPU_CLUSTER: 0: enabled 1 APIC: 00: enabled 1 DOMAIN: 0000: enabled 1 PCI: 00:00.0: enabled 1 PCI: 00:01.0: enabled 1 PCI: 00:01.1: enabled 1 PCI: 00:01.3: enabled 1 PCI: 00:02.0: enabled 1 PCI: 00:03.0: enabled 1 CPU: 00: enabled 1 Finalize devices... Devices finalized Copying Interrupt Routing Table to 0x000f0000... done. Copying Interrupt Routing Table to 0x07fda000... done. PIRQ table: 128 bytes. QEMU: found acpi tables in fw_cfg. QEMU: loading "etc/acpi/rsdp" to 0x7fb6000 (len 36) QEMU: loading "etc/acpi/tables" to 0x7fb6040 (len 131072) QEMU: loaded acpi tables from fw_cfg. ACPI tables: 131136 bytes. smbios_write_tables: 07fb5000 Root Device (Emulation QEMU x86 i440fx/piix4) CPU_CLUSTER: 0 (QEMU Northbridge i440fx) APIC: 00 (unknown) DOMAIN: 0000 (QEMU Northbridge i440fx) PCI: 00:00.0 (QEMU Northbridge i440fx) PCI: 00:01.0 (Intel 82371FB/SB/MX/AB/EB/MB Southbridge) PCI: 00:01.1 (Intel 82371FB/SB/MX/AB/EB/MB Southbridge) PCI: 00:01.3 (Intel 82371FB/SB/MX/AB/EB/MB Southbridge) PCI: 00:02.0 (unknown) PCI: 00:03.0 (unknown) CPU: 00 (unknown) SMBIOS tables: 438 bytes. Writing table forward entry at 0x00000500 Wrote coreboot table at: 00000500, 0x10 bytes, checksum 27e4 Table forward entry ends at 0x00000528. ... aligned to 0x00001000 Writing coreboot table at 0x07fad000 rom_table_end = 0x07fad000 ... aligned to 0x07fb0000 0. 0000000000000000-0000000000000fff: CONFIGURATION TABLES 1. 0000000000001000-000000000009ffff: RAM 2. 00000000000c0000-0000000007facfff: RAM 3. 0000000007fad000-0000000007ffffff: CONFIGURATION TABLES 4. 00000000ff800000-00000000ffffffff: RESERVED Wrote coreboot table at: 07fad000, 0x194 bytes, checksum 6e8b coreboot table: 428 bytes. CBMEM ROOT 0. 07fff000 00001000 CAR GLOBALS 1. 07ffe000 00001000 CONSOLE 2. 07fde000 00020000 TIME STAMP 3. 07fdd000 00001000 ROMSTAGE 4. 07fdc000 00001000 GDT 5. 07fdb000 00001000 IRQ TABLE 6. 07fda000 00001000 ACPI 7. 07fb6000 00024000 SMBIOS 8. 07fb5000 00001000 COREBOOT 9. 07fad000 00008000 CBFS: located payload @ fffd43b8, 55783 bytes. Loading segment from rom address 0xfffd43b8 code (compression=1) New segment dstaddr 0xe6684 memsize 0x1997c srcaddr 0xfffd43f0 filesize 0xd9af (cleaned up) New segment addr 0xe6684 size 0x1997c offset 0xfffd43f0 filesize 0xd9af Loading segment from rom address 0xfffd43d4 Entry Point 0x000fd516 Bounce Buffer at 07f4e000, 385176 bytes Loading Segment: addr: 0x00000000000e6684 memsz: 0x000000000001997c filesz: 0x000000000000d9af lb: [0x0000000000100000, 0x000000000012f04c) Post relocation: addr: 0x00000000000e6684 memsz: 0x000000000001997c filesz: 0x000000000000d9af using LZMA [ 0x000e6684, 00100000, 0x00100000) <- fffd43f0 dest 000e6684, end 00100000, bouncebuffer 7f4e000 Loaded segments Jumping to boot code at 000fd516 CPU0: stack: 0012a000 - 0012b000, lowest used address 0012abfc, stack used: 1028 bytes entry = 0x000fd516 lb_start = 0x00100000 lb_size = 0x0002f04c buffer = 0x07f4e000 SeaBIOS (version rel-1.7.5-0-ge51488c-20141004_165950-mattotaupa) SeaBIOS (version rel-1.7.5-0-ge51488c-20141004_165950-mattotaupa) Found coreboot cbmem console @ 7fde000 Found mainboard Emulation QEMU x86 i440fx/piix4 Relocating init from 0x000e7839 to 0x07f62880 (size 42676) Found CBFS header at 0xfffffc30 CPU Mhz=1765 Found 6 PCI devices (max PCI bus is 00) Copying SMBIOS entry point from 0x07fb5000 to 0x000f1ed0 Copying ACPI RSDP from 0x07fb6000 to 0x000f1eb0 Copying PIR from 0x07fda000 to 0x000f1e30 Using pmtimer, ioport 0xe408 Scan for VGA option rom Running option rom at c000:0003 Start SeaVGABIOS (version rel-1.7.5-0-ge51488c-20141004_165959-mattotaupa) enter vga_post: a=00000000 b=0000ffff c=00000000 d=0000ffff ds=0000 es=f000 ss=0000 si=00000000 di=00007020 bp=00000000 sp=00006e1a cs=f000 ip=d32d f=0000 coreboot vga init Found FB @ fd000000 800x600 with 32 bpp (3200 stride) set VGA mode 140 Attempting to allocate VGA stack via pmm call to f000:d3a2 pmm call arg1=0 VGA stack allocated at ef590 Turning on vga text mode console set VGA mode 3 SeaBIOS (version rel-1.7.5-0-ge51488c-20141004_165950-mattotaupa) All threads complete. Found 1 lpt ports Found 1 serial ports ATA controller 1 at 1f0/3f4/0 (irq 14 dev 9) ATA controller 2 at 170/374/0 (irq 15 dev 9) ata0-0: QEMU HARDDISK ATA-7 Hard-Disk (0 MiBytes) Searching bootorder for: /pci@i0cf8/*@1,1/drive@0/disk@0 DVD/CD [ata1-0: QEMU DVD-ROM ATAPI-4 DVD/CD] Searching bootorder for: /pci@i0cf8/*@1,1/drive@1/disk@0 PS2 keyboard initialized All threads complete. Scan for option roms Running option rom at c700:0003 pmm call arg1=1 pmm call arg1=0 pmm call arg1=1 pmm call arg1=0 Searching bootorder for: /pci@i0cf8/*@2
Press F12 for boot menu.
Searching bootorder for: HALT drive 0x000f1de0: PCHS=2/16/63 translation=lba LCHS=0/16/63 s=0 Space available for UMB: c8000-ee800, f0000-f1d80 Returned 262144 bytes of ZoneHigh e820 map has 6 items: 0: 0000000000000000 - 000000000009fc00 = 1 RAM 1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED 2: 00000000000f0000 - 0000000000100000 = 2 RESERVED 3: 0000000000100000 - 0000000007fad000 = 1 RAM 4: 0000000007fad000 - 0000000008000000 = 2 RESERVED 5: 00000000ff800000 - 0000000100000000 = 2 RESERVED enter handle_19: NULL Booting from DVD/CD... Device reports MEDIUM NOT PRESENT scsi_is_ready returned -1 Boot failed: Could not read from CDROM (code 0003) enter handle_18: NULL Booting from Hard Disk... Boot failed: could not read the boot disk
enter handle_18: NULL Booting from ROM... Booting from c700:0363 Read char in graphics mode Read char in graphics mode