On Sun, Apr 26, 2009 at 6:02 PM, Andrew Lyon <andrew.lyon@xxxxxxxxx> wrote:
> Hi,
>
> I've been testing both 64 and 32 bit flavour of windows 7 on Xen since
> the first public beta release, a few weeks ago I upgraded to Xen
> unstable and added viridian=1 to all of my smp windows guests as it
> prevents bsod bugcheck code 101 when under heavy load, today I tried
> to upgrade my windows 7 hvm's to build 7077 and found that the
> installer/bootloader locks up if viridian=1 is set.
>
> It is not the installer that locks up as such, its the windows 7
> equivalent of the boot progress bar that all recent versions of
> windows display before the graphics drivers are loaded and the display
> switches to a higher resolution with the mouse active.
>
> Here is a screenshot of the screen I am talking about
> http://i251.photobucket.com/albums/gg313/ramesh_windows/Windows7/7boot.png?t=1240764799
> , when viridian is enabled only a few pixels are drawn before it locks
> up.
>
> Here is the qemu log with viridian enabled, you can see there is a
> failure to track vram "track_dirty_vram(f0000000, 240) failed (-1, 3)"
>
> domid: 19
> qemu: the number of cpus is 8
> config qemu network with xen bridge for tap19.0 xenbr0
> Watching /local/domain/0/device-model/19/logdirty/next-active
> Watching /local/domain/0/device-model/19/command
> char device redirected to /dev/pts/14
> qemu_map_cache_init nr_buckets = 10000 size 4194304
> shared page at pfn feffd
> buffered io page at pfn feffb
> Guest uuid = 4fb15327-01f9-46bb-a2de-c825adbdc01a
> Time offset set 0
> populating video RAM at ff000000
> mapping video RAM from ff000000
> Register xen platform.
> Done register platform.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw
> state.
> xs_read(/local/domain/0/device-model/19/xen_extended_power_mgmt): read error
> medium change watch on `hdc' (index: 1):
> /mnt/isobox/7077.0.090404-1255_x64fre_client_en-us_Retail_Ultimate-GRC1CULXFRER_EN_DVD.iso
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> cirrus vga map change while on lfb mode
> mapping vram to f0000000 - f0400000
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw
> state.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro
> state.
> track_dirty_vram(f0000000, 240) failed (-1, 3)
>
>
> And here is one with viridian disabled:
>
> ubermicro xen # cat /var/log/xen/qemu-dm-windows7.log
> domid: 20
> qemu: the number of cpus is 8
> config qemu network with xen bridge for tap20.0 xenbr0
> Watching /local/domain/0/device-model/20/logdirty/next-active
> Watching /local/domain/0/device-model/20/command
> char device redirected to /dev/pts/14
> qemu_map_cache_init nr_buckets = 10000 size 4194304
> shared page at pfn feffd
> buffered io page at pfn feffb
> Guest uuid = 4fb15327-01f9-46bb-a2de-c825adbdc01a
> Time offset set 0
> populating video RAM at ff000000
> mapping video RAM from ff000000
> Register xen platform.
> Done register platform.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw
> state.
> xs_read(/local/domain/0/device-model/20/xen_extended_power_mgmt): read error
> medium change watch on `hdc' (index: 1):
> /mnt/isobox/7077.0.090404-1255_x64fre_client_en-us_Retail_Ultimate-GRC1CULXFRER_EN_DVD.iso
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> I/O request not ready: 0, ptr: 0, port: 0, data: 0, count: 0, size: 0
> cirrus vga map change while on lfb mode
> mapping vram to f0000000 - f0400000
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is rw
> state.
> platform_fixed_ioport: changed ro/rw state of ROM memory area. now is ro
> state.
> gpe_sts_write: addr=0x1f68, val=0x0.
> gpe_sts_write: addr=0x1f69, val=0x0.
> gpe_sts_write: addr=0x1f6a, val=0x0.
> gpe_sts_write: addr=0x1f6b, val=0x0.
> gpe_en_write: addr=0x1f6c, val=0x0.
> gpe_en_write: addr=0x1f6d, val=0x0.
> gpe_en_write: addr=0x1f6e, val=0x0.
> gpe_en_write: addr=0x1f6f, val=0x0.
> gpe_en_write: addr=0x1f6c, val=0x0.
> gpe_en_write: addr=0x1f6d, val=0x0.
> gpe_en_write: addr=0x1f6e, val=0x0.
> gpe_en_write: addr=0x1f6f, val=0x0.
> gpe_sts_write: addr=0x1f68, val=0x0.
> gpe_sts_write: addr=0x1f69, val=0x0.
> gpe_sts_write: addr=0x1f6a, val=0x0.
> gpe_sts_write: addr=0x1f6b, val=0x0.
> gpe_en_write: addr=0x1f6c, val=0x8.
> gpe_en_write: addr=0x1f6d, val=0x0.
> gpe_en_write: addr=0x1f6e, val=0x0.
> gpe_en_write: addr=0x1f6f, val=0x0.
> ACPI PCI hotplug: read addr=0x10c2, val=0x0.
> ACPI PCI hotplug: read addr=0x10c3, val=0x0.
> ACPI PCI hotplug: read addr=0x10c4, val=0x0.
> ACPI PCI hotplug: read addr=0x10c5, val=0x0.
> ACPI PCI hotplug: read addr=0x10c6, val=0x0.
> ACPI PCI hotplug: read addr=0x10c7, val=0x0.
> ACPI PCI hotplug: read addr=0x10c8, val=0x0.
> ACPI PCI hotplug: read addr=0x10c9, val=0x0.
> ACPI PCI hotplug: read addr=0x10ca, val=0x0.
> ACPI PCI hotplug: read addr=0x10cb, val=0x0.
> ACPI PCI hotplug: read addr=0x10cc, val=0x0.
> ACPI PCI hotplug: read addr=0x10cd, val=0x0.
> ACPI PCI hotplug: read addr=0x10ce, val=0x0.
> ACPI PCI hotplug: read addr=0x10cf, val=0x0.
> ACPI PCI hotplug: read addr=0x10d0, val=0x0.
> ACPI PCI hotplug: read addr=0x10d1, val=0x0.
> ACPI PCI hotplug: read addr=0x10d2, val=0x0.
> ACPI PCI hotplug: read addr=0x10d3, val=0x0.
> ACPI PCI hotplug: read addr=0x10d4, val=0x0.
> ACPI PCI hotplug: read addr=0x10d5, val=0x0.
> ACPI PCI hotplug: read addr=0x10d6, val=0x0.
> ACPI PCI hotplug: read addr=0x10d7, val=0x0.
> ACPI PCI hotplug: read addr=0x10d8, val=0x0.
> ACPI PCI hotplug: read addr=0x10d9, val=0x0.
> ACPI PCI hotplug: read addr=0x10da, val=0x0.
> ACPI PCI hotplug: read addr=0x10db, val=0x0.
> ACPI PCI hotplug: read addr=0x10dc, val=0x0.
> ACPI PCI hotplug: read addr=0x10dd, val=0x0.
> ACPI PCI hotplug: read addr=0x10de, val=0x0.
> ACPI PCI hotplug: read addr=0x10df, val=0x0.
> ACPI PCI hotplug: read addr=0x10e0, val=0x0.
> ACPI PCI hotplug: read addr=0x10e1, val=0x0.
> ACPI PCI hotplug: read addr=0x10c2, val=0x0.
> ACPI PCI hotplug: read addr=0x10c3, val=0x0.
> ACPI PCI hotplug: read addr=0x10c4, val=0x0.
> ACPI PCI hotplug: read addr=0x10c5, val=0x0.
> ACPI PCI hotplug: read addr=0x10c6, val=0x0.
> ACPI PCI hotplug: read addr=0x10c7, val=0x0.
> ACPI PCI hotplug: read addr=0x10c8, val=0x0.
> ACPI PCI hotplug: read addr=0x10c9, val=0x0.
> ACPI PCI hotplug: read addr=0x10ca, val=0x0.
> ACPI PCI hotplug: read addr=0x10cb, val=0x0.
> ACPI PCI hotplug: read addr=0x10cc, val=0x0.
> ACPI PCI hotplug: read addr=0x10cd, val=0x0.
> ACPI PCI hotplug: read addr=0x10ce, val=0x0.
> ACPI PCI hotplug: read addr=0x10cf, val=0x0.
> ACPI PCI hotplug: read addr=0x10d0, val=0x0.
> ACPI PCI hotplug: read addr=0x10d1, val=0x0.
> ACPI PCI hotplug: read addr=0x10d2, val=0x0.
> ACPI PCI hotplug: read addr=0x10d3, val=0x0.
> ACPI PCI hotplug: read addr=0x10d4, val=0x0.
> ACPI PCI hotplug: read addr=0x10d5, val=0x0.
> ACPI PCI hotplug: read addr=0x10d6, val=0x0.
> ACPI PCI hotplug: read addr=0x10d7, val=0x0.
> ACPI PCI hotplug: read addr=0x10d8, val=0x0.
> ACPI PCI hotplug: read addr=0x10d9, val=0x0.
> ACPI PCI hotplug: read addr=0x10da, val=0x0.
> ACPI PCI hotplug: read addr=0x10db, val=0x0.
> ACPI PCI hotplug: read addr=0x10dc, val=0x0.
> ACPI PCI hotplug: read addr=0x10dd, val=0x0.
> ACPI PCI hotplug: read addr=0x10de, val=0x0.
> ACPI PCI hotplug: read addr=0x10df, val=0x0.
> ACPI PCI hotplug: read addr=0x10e0, val=0x0.
> ACPI PCI hotplug: read addr=0x10e1, val=0x0.
> ACPI PCI hotplug: read addr=0x10c2, val=0x0.
> ACPI PCI hotplug: read addr=0x10c3, val=0x0.
> ACPI PCI hotplug: read addr=0x10c4, val=0x0.
> ACPI PCI hotplug: read addr=0x10c5, val=0x0.
> ACPI PCI hotplug: read addr=0x10c6, val=0x0.
> ACPI PCI hotplug: read addr=0x10c7, val=0x0.
> ACPI PCI hotplug: read addr=0x10c8, val=0x0.
> ACPI PCI hotplug: read addr=0x10c9, val=0x0.
> ACPI PCI hotplug: read addr=0x10ca, val=0x0.
> ACPI PCI hotplug: read addr=0x10cb, val=0x0.
> ACPI PCI hotplug: read addr=0x10cc, val=0x0.
> ACPI PCI hotplug: read addr=0x10cd, val=0x0.
> ACPI PCI hotplug: read addr=0x10ce, val=0x0.
> ACPI PCI hotplug: read addr=0x10cf, val=0x0.
> ACPI PCI hotplug: read addr=0x10d0, val=0x0.
> ACPI PCI hotplug: read addr=0x10d1, val=0x0.
> ACPI PCI hotplug: read addr=0x10d2, val=0x0.
> ACPI PCI hotplug: read addr=0x10d3, val=0x0.
> ACPI PCI hotplug: read addr=0x10d4, val=0x0.
> ACPI PCI hotplug: read addr=0x10d5, val=0x0.
> ACPI PCI hotplug: read addr=0x10d6, val=0x0.
> ACPI PCI hotplug: read addr=0x10d7, val=0x0.
> ACPI PCI hotplug: read addr=0x10d8, val=0x0.
> ACPI PCI hotplug: read addr=0x10d9, val=0x0.
> ACPI PCI hotplug: read addr=0x10da, val=0x0.
> ACPI PCI hotplug: read addr=0x10db, val=0x0.
> ACPI PCI hotplug: read addr=0x10dc, val=0x0.
> ACPI PCI hotplug: read addr=0x10dd, val=0x0.
> ACPI PCI hotplug: read addr=0x10de, val=0x0.
> ACPI PCI hotplug: read addr=0x10df, val=0x0.
> ACPI PCI hotplug: read addr=0x10e0, val=0x0.
> ACPI PCI hotplug: read addr=0x10e1, val=0x0.
> ACPI PCI hotplug: read addr=0x10c2, val=0x0.
> ACPI PCI hotplug: read addr=0x10c3, val=0x0.
> ACPI PCI hotplug: read addr=0x10c4, val=0x0.
> ACPI PCI hotplug: read addr=0x10c5, val=0x0.
> ACPI PCI hotplug: read addr=0x10c6, val=0x0.
> ACPI PCI hotplug: read addr=0x10c7, val=0x0.
> ACPI PCI hotplug: read addr=0x10c8, val=0x0.
> ACPI PCI hotplug: read addr=0x10c9, val=0x0.
> ACPI PCI hotplug: read addr=0x10ca, val=0x0.
> ACPI PCI hotplug: read addr=0x10cb, val=0x0.
> ACPI PCI hotplug: read addr=0x10cc, val=0x0.
> ACPI PCI hotplug: read addr=0x10cd, val=0x0.
> ACPI PCI hotplug: read addr=0x10ce, val=0x0.
> ACPI PCI hotplug: read addr=0x10cf, val=0x0.
> ACPI PCI hotplug: read addr=0x10d0, val=0x0.
> ACPI PCI hotplug: read addr=0x10d1, val=0x0.
> ACPI PCI hotplug: read addr=0x10d2, val=0x0.
> ACPI PCI hotplug: read addr=0x10d3, val=0x0.
> ACPI PCI hotplug: read addr=0x10d4, val=0x0.
> ACPI PCI hotplug: read addr=0x10d5, val=0x0.
> ACPI PCI hotplug: read addr=0x10d6, val=0x0.
> ACPI PCI hotplug: read addr=0x10d7, val=0x0.
> ACPI PCI hotplug: read addr=0x10d8, val=0x0.
> ACPI PCI hotplug: read addr=0x10d9, val=0x0.
> ACPI PCI hotplug: read addr=0x10da, val=0x0.
> ACPI PCI hotplug: read addr=0x10db, val=0x0.
> ACPI PCI hotplug: read addr=0x10dc, val=0x0.
> ACPI PCI hotplug: read addr=0x10dd, val=0x0.
> ACPI PCI hotplug: read addr=0x10de, val=0x0.
> ACPI PCI hotplug: read addr=0x10df, val=0x0.
> ACPI PCI hotplug: read addr=0x10e0, val=0x0.
> ACPI PCI hotplug: read addr=0x10e1, val=0x0.
> ACPI PCI hotplug: read addr=0x10c2, val=0x0.
> ACPI PCI hotplug: read addr=0x10c3, val=0x0.
> ACPI PCI hotplug: read addr=0x10c4, val=0x0.
> ACPI PCI hotplug: read addr=0x10c5, val=0x0.
> ACPI PCI hotplug: read addr=0x10c6, val=0x0.
> ACPI PCI hotplug: read addr=0x10c7, val=0x0.
> ACPI PCI hotplug: read addr=0x10c8, val=0x0.
> ACPI PCI hotplug: read addr=0x10c9, val=0x0.
> ACPI PCI hotplug: read addr=0x10ca, val=0x0.
> ACPI PCI hotplug: read addr=0x10cb, val=0x0.
> ACPI PCI hotplug: read addr=0x10cc, val=0x0.
> ACPI PCI hotplug: read addr=0x10cd, val=0x0.
> ACPI PCI hotplug: read addr=0x10ce, val=0x0.
> ACPI PCI hotplug: read addr=0x10cf, val=0x0.
> ACPI PCI hotplug: read addr=0x10d0, val=0x0.
> ACPI PCI hotplug: read addr=0x10d1, val=0x0.
> ACPI PCI hotplug: read addr=0x10d2, val=0x0.
> ACPI PCI hotplug: read addr=0x10d3, val=0x0.
> ACPI PCI hotplug: read addr=0x10d4, val=0x0.
> ACPI PCI hotplug: read addr=0x10d5, val=0x0.
> ACPI PCI hotplug: read addr=0x10d6, val=0x0.
> ACPI PCI hotplug: read addr=0x10d7, val=0x0.
> ACPI PCI hotplug: read addr=0x10d8, val=0x0.
> ACPI PCI hotplug: read addr=0x10d9, val=0x0.
> ACPI PCI hotplug: read addr=0x10da, val=0x0.
> ACPI PCI hotplug: read addr=0x10db, val=0x0.
> ACPI PCI hotplug: read addr=0x10dc, val=0x0.
> ACPI PCI hotplug: read addr=0x10dd, val=0x0.
> ACPI PCI hotplug: read addr=0x10de, val=0x0.
> ACPI PCI hotplug: read addr=0x10df, val=0x0.
> ACPI PCI hotplug: read addr=0x10e0, val=0x0.
> ACPI PCI hotplug: read addr=0x10e1, val=0x0.
> ACPI PCI hotplug: read addr=0x10c2, val=0x0.
> ACPI PCI hotplug: read addr=0x10c3, val=0x0.
> ACPI PCI hotplug: read addr=0x10c4, val=0x0.
> ACPI PCI hotplug: read addr=0x10c5, val=0x0.
> ACPI PCI hotplug: read addr=0x10c6, val=0x0.
> ACPI PCI hotplug: read addr=0x10c7, val=0x0.
> ACPI PCI hotplug: read addr=0x10c8, val=0x0.
> ACPI PCI hotplug: read addr=0x10c9, val=0x0.
> ACPI PCI hotplug: read addr=0x10ca, val=0x0.
> ACPI PCI hotplug: read addr=0x10cb, val=0x0.
> ACPI PCI hotplug: read addr=0x10cc, val=0x0.
> ACPI PCI hotplug: read addr=0x10cd, val=0x0.
> ACPI PCI hotplug: read addr=0x10ce, val=0x0.
> ACPI PCI hotplug: read addr=0x10cf, val=0x0.
> ACPI PCI hotplug: read addr=0x10d0, val=0x0.
> ACPI PCI hotplug: read addr=0x10d1, val=0x0.
> ACPI PCI hotplug: read addr=0x10d2, val=0x0.
> ACPI PCI hotplug: read addr=0x10d3, val=0x0.
> ACPI PCI hotplug: read addr=0x10d4, val=0x0.
> ACPI PCI hotplug: read addr=0x10d5, val=0x0.
> ACPI PCI hotplug: read addr=0x10d6, val=0x0.
> ACPI PCI hotplug: read addr=0x10d7, val=0x0.
> ACPI PCI hotplug: read addr=0x10d8, val=0x0.
> ACPI PCI hotplug: read addr=0x10d9, val=0x0.
> ACPI PCI hotplug: read addr=0x10da, val=0x0.
> ACPI PCI hotplug: read addr=0x10db, val=0x0.
> ACPI PCI hotplug: read addr=0x10dc, val=0x0.
> ACPI PCI hotplug: read addr=0x10dd, val=0x0.
> ACPI PCI hotplug: read addr=0x10de, val=0x0.
> ACPI PCI hotplug: read addr=0x10df, val=0x0.
> ACPI PCI hotplug: read addr=0x10e0, val=0x0.
> ACPI PCI hotplug: read addr=0x10e1, val=0x0.
> ACPI PCI hotplug: read addr=0x10c2, val=0x0.
> ACPI PCI hotplug: read addr=0x10c3, val=0x0.
> ACPI PCI hotplug: read addr=0x10c4, val=0x0.
> ACPI PCI hotplug: read addr=0x10c5, val=0x0.
> ACPI PCI hotplug: read addr=0x10c6, val=0x0.
> ACPI PCI hotplug: read addr=0x10c7, val=0x0.
> ACPI PCI hotplug: read addr=0x10c8, val=0x0.
> ACPI PCI hotplug: read addr=0x10c9, val=0x0.
> ACPI PCI hotplug: read addr=0x10ca, val=0x0.
> ACPI PCI hotplug: read addr=0x10cb, val=0x0.
> ACPI PCI hotplug: read addr=0x10cc, val=0x0.
> ACPI PCI hotplug: read addr=0x10cd, val=0x0.
> ACPI PCI hotplug: read addr=0x10ce, val=0x0.
> ACPI PCI hotplug: read addr=0x10cf, val=0x0.
> ACPI PCI hotplug: read addr=0x10d0, val=0x0.
> ACPI PCI hotplug: read addr=0x10d1, val=0x0.
> ACPI PCI hotplug: read addr=0x10d2, val=0x0.
> ACPI PCI hotplug: read addr=0x10d3, val=0x0.
> ACPI PCI hotplug: read addr=0x10d4, val=0x0.
> ACPI PCI hotplug: read addr=0x10d5, val=0x0.
> ACPI PCI hotplug: read addr=0x10d6, val=0x0.
> ACPI PCI hotplug: read addr=0x10d7, val=0x0.
> ACPI PCI hotplug: read addr=0x10d8, val=0x0.
> ACPI PCI hotplug: read addr=0x10d9, val=0x0.
> ACPI PCI hotplug: read addr=0x10da, val=0x0.
> ACPI PCI hotplug: read addr=0x10db, val=0x0.
> ACPI PCI hotplug: read addr=0x10dc, val=0x0.
> ACPI PCI hotplug: read addr=0x10dd, val=0x0.
> ACPI PCI hotplug: read addr=0x10de, val=0x0.
> ACPI PCI hotplug: read addr=0x10df, val=0x0.
> ACPI PCI hotplug: read addr=0x10e0, val=0x0.
> ACPI PCI hotplug: read addr=0x10e1, val=0x0.
> gpe_en_write: addr=0x1f6c, val=0x8.
> gpe_en_write: addr=0x1f6d, val=0x0.
> gpe_en_write: addr=0x1f6e, val=0x0.
> gpe_en_write: addr=0x1f6f, val=0x0.
> I/O request not ready: 0, ptr: 1, port: 170, data: 4f55a000, count:
> 1000, size: 2
> I/O request not ready: 0, ptr: 1, port: 170, data: 6122e000, count: 7fe,
> size: 2
> I/O request not ready: 0, ptr: 0, port: 1f48, data: a22e060e, count: 1, size:
> 4
> I/O request not ready: 0, ptr: 1, port: 170, data: 35fbe000, count: 800,
> size: 2
> I/O request not ready: 0, ptr: 0, port: 1f48, data: b5f0406f, count: 1, size:
> 4
>
> Perhaps I need to increase the video ram in the guest? but why does it
> work without viridian?
>
> Once the installation has completed I will try enabling viridian
> support and report back if it works or not.
>
> Andy
>
The same lockup happens to windows 7 itself if viridian=1 is set, with
viridian disabled it boots quickly and runs as well as other windows.
Andy
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|