2015-04-21 0:45 GMT+08:00 Kevin O'Connor kevin@koconnor.net:
On Tue, Apr 21, 2015 at 12:23:15AM +0800, eJim Lee wrote:
Yes, I have tried gtk_monitor+VGA+seaVGABIOS.
Did you see screen corruption when you tried gtk_monitor+VGA+seaVGABIOS?
I have repeated screen mess at every time.
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)
[...]
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
Was there screen corruption during the above log?
There is nothing to be outputted. After outputting "set VGA mode 3" twice, I couldn't get anything. I guessed the program do all and not invoked vgabios interface.
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.
I would guess the defect has some randomness to it and minor changes to code layout can cause or avoid the problem.
I agree.
Kevin, did you repeat screen mess?
I've tried several different configurations (including the last command line you sent), but I have not been able to reproduce any screen corruption.
I have repeated it at every time on server, my laptop or my pc. I tried it on ubuntu 14.04, centos 6.5, kernel 3.10.67 and kernel.3.16.0.36 etc. What is the difference? I used guest os is xp sp3. What yours? I will try again with environment same as yours.
-Kevin
eJim Lee