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
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@i0cf8/isa@1/fdc@03f0/floppy@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@i0cf8/*@1,1/drive@0/disk@0 ata0-1: QEMU HARDDISK ATA-7 Hard-Disk (5120 MiBytes) Searching bootorder for: /pci@i0cf8/*@1,1/drive@0/disk@1 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 Searching bootorder for: /rom@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@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