[SeaBIOS] [HELP] The program cause screen mess

eJim Lee lyjforjob at gmail.com
Mon Apr 20 18:23:15 CEST 2015


Yes, I have tried gtk_monitor+VGA+seaVGABIOS.

The following is my log:
=====================================================
LYJ-UPC:~/qemu$ ./build/x86_64-softmmu/qemu-system-x86_64 -enable-kvm
-hda tmp/xp_rcc.append -hdb tmp/data.append -m 1024 -smp 1 -device
VGA,romfile=/home/lyj/qemu/seabios/out/vgabios.bin -net none -chardev
stdio,id=debugcon -device isa-debugcon,chardev=debugcon,iobase=0x0402
SeaBIOS (version rel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org)
No Xen hypervisor found.
Running on QEMU (i440fx)
Running on KVM
RamSize: 0x40000000 [cmos]
Relocating init from 0x000dfbd9 to 0x3ffaeb00 (size 70708)
Found QEMU fw_cfg
RamBlock: addr 0x0000000000000000 len 0x0000000040000000 [e820]
Moving pm_base to 0x600
CPU Mhz=2396
=== PCI bus & bridge init ===
PCI: pci_bios_init_bus_rec bus = 0x0
=== PCI device probing ===
Found 5 PCI devices (max PCI bus is 00)
=== PCI new allocation pass #1 ===
PCI: check devices
=== PCI new allocation pass #2 ===
PCI: IO: c000 - c00f
PCI: 32: 0000000080000000 - 00000000fec00000
PCI: map device bdf=00:01.1  bar 4, addr 0000c000, size 00000010 [io]
PCI: map device bdf=00:02.0  bar 6, addr febe0000, size 00010000 [mem]
PCI: map device bdf=00:02.0  bar 2, addr febf0000, size 00001000 [mem]
PCI: map device bdf=00:02.0  bar 0, addr fd000000, size 01000000 [prefmem]
PCI: init bdf=00:00.0 id=8086:1237
PCI: init bdf=00:01.0 id=8086:7000
PIIX3/PIIX4 init: elcr=00 0c
PCI: init bdf=00:01.1 id=8086:7010
PCI: init bdf=00:01.3 id=8086:7113
Using pmtimer, ioport 0x608
PCI: init bdf=00:02.0 id=1234:1111
PCI: Using 00:02.0 for primary VGA
Found 1 cpu(s) max supported 1 cpu(s)
Copying PIR from 0x3ffbfca3 to 0x000f0f90
Copying MPTABLE from 0x00006db0/3ffa5c20 to 0x000f0eb0
Copying SMBIOS entry point from 0x00006db0 to 0x000f0ce0
Scan for VGA option rom
Running option rom at c000:0003
Start SeaVGABIOS (version rel-1.8.1-1-g9eebefe-20150420_235353-LYJ-UPC)
enter vga_post:
   a=00000010  b=0000ffff  c=00000000  d=0000ffff ds=0000 es=f000 ss=0000
  si=00000000 di=00006ae0 bp=00000000 sp=00006d16 cs=f000 ip=d2ea  f=0000
VBE DISPI: bdf 00:02.0, bar 0
VBE DISPI: lfb_addr=fd000000, size 16 MB
Attempting to allocate VGA stack via pmm call to f000:d362
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-20140602_164612-nilsson.home.kraxel.org)
All threads complete.
Found 1 lpt ports
Found 1 serial ports
Searching bootorder for: /pci at i0cf8/isa at 1/fdc at 03f0/floppy at 0
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 (40960 MiBytes)
Searching bootorder for: /pci at i0cf8/*@1,1/drive at 0/disk at 0
ata0-1: QEMU HARDDISK ATA-7 Hard-Disk (5120 MiBytes)
Searching bootorder for: /pci at i0cf8/*@1,1/drive at 0/disk at 1
DVD/CD [ata1-0: QEMU DVD-ROM ATAPI-4 DVD/CD]
Searching bootorder for: /pci at i0cf8/*@1,1/drive at 1/disk at 0
PS2 keyboard initialized
All threads complete.
Scan for option roms
Searching bootorder for: /rom at genroms/kvmvapic.bin
Searching bootorder for: HALT
drive 0x000f0c30: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=83886080
drive 0x000f0c00: PCHS=10402/16/63 translation=lba LCHS=652/255/63 s=10485760
Running option rom at c980:0003
Space available for UMB: cc000-ee800, f0000-f0ba0
Returned 131072 bytes of ZoneHigh
e820 map has 7 items:
  0: 0000000000000000 - 000000000009fc00 = 1 RAM
  1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED
  2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
  3: 0000000000100000 - 000000003ffe0000 = 1 RAM
  4: 000000003ffe0000 - 0000000040000000 = 2 RESERVED
  5: 00000000feffc000 - 00000000ff000000 = 2 RESERVED
  6: 00000000fffc0000 - 0000000100000000 = 2 RESERVED
enter handle_19:
  NULL
Booting from Hard Disk...
Booting from 0000:7c00
set VGA mode 12
pnp call arg1=0
set VGA mode 3
set VGA mode 12
VBE mode info request: 100
VBE mode info request: 101
VBE mode info request: 102
VBE mode info request: 103
VBE mode info request: 104
VBE mode info request: 105
VBE mode info request: 106
VBE mode info request: 107
VBE mode info request: 10d
VBE mode info request: 10e
VBE mode info request: 10f
VBE mode info request: 110
VBE mode info request: 111
VBE mode info request: 112
VBE mode info request: 113
VBE mode info request: 114
VBE mode info request: 115
VBE mode info request: 116
VBE mode info request: 117
VBE mode info request: 118
VBE mode info request: 119
VBE mode info request: 11a
VBE mode info request: 11b
VBE mode info request: 11c
VBE mode info request: 11d
VBE mode info request: 11e
VBE mode info request: 11f
VBE mode info request: 140
VBE mode info request: 141
VBE mode info request: 142
VBE mode info request: 143
VBE mode info request: 144
VBE mode info request: 145
VBE mode info request: 146
VBE mode info request: 147
VBE mode info request: 148
VBE mode info request: 149
VBE mode info request: 14a
VBE mode info request: 14b
VBE mode info request: 14c
VBE mode info request: 175
VBE mode info request: 176
VBE mode info request: 177
VBE mode info request: 178
VBE mode info request: 179
VBE mode info request: 17a
VBE mode info request: 17b
VBE mode info request: 17c
VBE mode info request: 17d
VBE mode info request: 17e
VBE mode info request: 17f
VBE mode info request: 180
VBE mode info request: 181
VBE mode info request: 182
VBE mode info request: 183
VBE mode info request: 184
VBE mode info request: 185
VBE mode info request: 186
VBE mode info request: 187
VBE mode info request: 188
VBE mode info request: 189
VBE mode info request: 18a
VBE mode info request: 18b
VBE mode info request: 18c
VBE mode info request: 18d
VBE mode info request: 18e
VBE mode info request: 18f
VBE mode info request: 190
VBE mode info request: 191
VBE mode info request: 192
VBE mode info request: 0
VBE mode info request: 1
VBE mode info request: 2
VBE mode info request: 3
VBE mode info request: 4
VBE mode info request: 5
VBE mode info request: 6
VBE mode info request: 7
VBE mode info request: d
VBE mode info request: e
VBE mode info request: f
VBE mode info request: 10
VBE mode info request: 11
VBE mode info request: 12
VBE mode info request: 13
VBE mode info request: 6a
VBE mode set: 4143
set VGA mode 143
VBE current mode=4143
VBE mode info request: 4143
                                                       <---- start wbc
set VGA mode 3
set VGA mode 3
                                                       <---- exit wbc
VBE mode set: 4143
set VGA mode 143
VBE current mode=4143
VBE mode info request: 4143
qemu: terminating on signal 2
===================================================

I debugged both vgabios and qemu, and found the wbc didn't use vgabios
interface but changing vgabios caused that the wbc run better.
I found the wbc r/w vga register directly to set vga mode when added
printf on vga_update_display in qemu.
Uncomfortably, gfx_write_char have never been invoked and I deleted it
in vgafb_write_char, that bring screen looking better. What happend? I
can't understand.

Kevin, did you repeat screen mess?

Sorry for my poor level of English.

Thanks
eJim Lee

2015-04-20 23:49 GMT+08:00 Kevin O'Connor <kevin at koconnor.net>:
> On Mon, Apr 20, 2015 at 09:52:59PM +0800, eJim Lee wrote:
>> I retried vgabios with VGA(same as "-vga std") device and found the
>> problem again.
>> For wbc.exe, first screen looked nice when loading and screen mess
>> after about 15 seconds on second screen.
>>
>> I used qemu 2.1.2 and my command line:
>> qemu-system-x86_64 \
>>     -m 1024 \
>>     -smp 1 \
>>     -net none \
>>     -enable-kvm \
>>     -hda /home/lyj/qemu/tmp/xp_noqxl.append  \
>>     -device VGA,romfile=/root/qemu/seabios/out/vgabios.bin \
>>     -spice port=5900,addr=0.0.0.0,disable-ticketing,seamless-migration=on \
>>     -chardev stdio,id=debugcon \
>>     -device isa-debugcon,iobase=0x0402,chardev=debugcon \
>
> Do you still see the problem if spice is not enabled (that is, if you
> use the same command line without "-spice")?
>
> If you do see corruption, we need to see the full debug log from the
> session.
>
> -Kevin



More information about the SeaBIOS mailing list