[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] 32-bit Xen disabled buffered IO for HVM guest' VGA. Why?

You, Yongkang wrote:
> Old issues :
> =================================================
>      can  not boot up win2000 guest on PAE
> http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1102 

The bug was reported in recent VMX status report.
It's caused by not buffering the VGA accesses of the guest.

Long ago, we had no any buffering for VGA, and we had a bug "Win2k
doesn't boot" (it's said it's due to the slow MMIO happening in W2K's
ISR -- makes the ISR not work well); 
Later on, changeset 10993: dc7b56b8cfb5 (Add HVM buffered IO writes
framework to accelerate stdvga speed. With this patch, win2k VMX guest
boots fine on xen) fixed the bug.

Recently changeset 16240: cae485f682aa (x86, hvm: Improve standard VGA
performance) was introduced to further improve VGA performance.

However, changeset 16254: 63bfed7b662b disabled the buffering in 32-bit
Xen using conditional compilation, saying "it doesn't work" in 32-bit
hypervisor. I don't know the reason for this.
However, when c/s 16240 was just checked in, I saw a strange crash on
execution of the 2nd memset() in stdvga_init() on IA32pae Xen. Anybody
also noticed this?

If this is a bug introduced by c/s 16240, we should fix it ASAP,
Now, in 32-bit Xen, we have no any buffering at all, causing the bug
1102; and if you use grub's splashimage, you would find nobody can
tolerate the rather poor VGA performance....

-- Dexuan

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.