On Sun, Oct 7, 2012 at 5:24 PM, Jan Kiszka <jan.kis...@web.de> wrote: > On 2012-10-07 17:23, Blue Swirl wrote: >> Hi, >> >> Win2k does not work in HEAD, it resets the machine. I bisected this to >> 0b57e287138728f72d88b06e69b970c5d745c44a, but that does not look so >> buggy. >> >> Digging deeper, the problem is introduced by kvmvapic: >> Breakpoint 1, cpu_physical_memory_write_rom (addr=0xca300, >> buf=0x7fffec66b500 "", len=0x5) at /src/qemu/exec.c:3536 >> 3536 invalidate_and_set_dirty(addr1, l); >> (gdb) bt >> #0 cpu_physical_memory_write_rom (addr=0xca300, buf=0x7fffec66b500 "", >> len=0x5) at /src/qemu/exec.c:3536 >> #1 0x0000000000644089 in apic_sync_vapic (s=0x1a6ba60, sync_type=0x2) >> at /src/qemu/hw/i386/../apic.c:132 >> >> It looks like vapic is enabled even with KVM disabled > > Which is intentional. The VAPIC is provided in a KVM-independent way to > the guest. Used to work fine with XP, but I never had my finger on a 2k > version. > >> and this causes >> chaos. With -global apic.vapic=false Win2k works. > > And that means we have a bug somewhere. Can you specify the chaos you > see in more details? Does your Win2k boot with KVM (and kvmvapic)?
It works with KVM both with and without kvmvapic. There are these error messages though: (qemu) Invalid write to memory region kvm-pic Invalid write to memory region kvm-pic Here's 'info mtree' output, kvmvapic-rom line may be interesting: memory 0000000000000000-7ffffffffffffffe (prio 0, RW): system 0000000000000000-000000000fffffff (prio 0, RW): alias ram-below-4g @pc.ram 0000000000000000-000000000fffffff 00000000000a0000-00000000000bffff (prio 1, RW): alias smram-region @pci 00000000000a0000-00000000000bffff 00000000000c0000-00000000000c3fff (prio 1, R-): alias pam-rom @pc.ram 00000000000c0000-00000000000c3fff 00000000000c4000-00000000000c7fff (prio 1, R-): alias pam-rom @pc.ram 00000000000c4000-00000000000c7fff 00000000000c8000-00000000000cbfff (prio 1, R-): alias pam-rom @pc.ram 00000000000c8000-00000000000cbfff 00000000000ca000-00000000000ccfff (prio 1000, RW): alias kvmvapic-rom @pc.ram 00000000000ca000-00000000000ccfff 00000000000cc000-00000000000cffff (prio 1, R-): alias pam-rom @pc.ram 00000000000cc000-00000000000cffff 00000000000d0000-00000000000d3fff (prio 1, RW): alias pam-ram @pc.ram 00000000000d0000-00000000000d3fff 00000000000d4000-00000000000d7fff (prio 1, RW): alias pam-ram @pc.ram 00000000000d4000-00000000000d7fff 00000000000d8000-00000000000dbfff (prio 1, RW): alias pam-ram @pc.ram 00000000000d8000-00000000000dbfff 00000000000dc000-00000000000dffff (prio 1, RW): alias pam-ram @pc.ram 00000000000dc000-00000000000dffff 00000000000e0000-00000000000e3fff (prio 1, RW): alias pam-ram @pc.ram 00000000000e0000-00000000000e3fff 00000000000e4000-00000000000e7fff (prio 1, RW): alias pam-ram @pc.ram 00000000000e4000-00000000000e7fff 00000000000e8000-00000000000ebfff (prio 1, RW): alias pam-ram @pc.ram 00000000000e8000-00000000000ebfff 00000000000ec000-00000000000effff (prio 1, RW): alias pam-ram @pc.ram 00000000000ec000-00000000000effff 00000000000f0000-00000000000fffff (prio 1, R-): alias pam-rom @pc.ram 00000000000f0000-00000000000fffff 0000000010000000-00000000ffffffff (prio 0, RW): alias pci-hole @pci 0000000010000000-00000000ffffffff 00000000fec00000-00000000fec00fff (prio 0, RW): kvm-ioapic 00000000fed00000-00000000fed003ff (prio 0, RW): hpet 00000000fee00000-00000000feefffff (prio 0, RW): kvm-apic-msi 0000000100000000-40000000ffffffff (prio 0, RW): alias pci-hole64 @pci 0000000100000000-40000000ffffffff I/O 0000000000000000-000000000000ffff (prio 0, RW): io 0000000000000020-0000000000000021 (prio 0, RW): kvm-pic 0000000000000040-0000000000000043 (prio 0, RW): kvm-pit 0000000000000060-0000000000000060 (prio 0, RW): i8042-data 0000000000000061-0000000000000061 (prio 0, RW): elcr 0000000000000064-0000000000000064 (prio 0, RW): i8042-cmd 0000000000000070-0000000000000071 (prio 0, RW): rtc 000000000000007e-000000000000007f (prio 0, RW): kvmvapic 0000000000000092-0000000000000092 (prio 0, RW): port92 00000000000000a0-00000000000000a1 (prio 0, RW): kvm-pic 0000000000000170-0000000000000177 (prio 0, RW): alias ide @ide 0000000000000170-0000000000000177 00000000000001f0-00000000000001f7 (prio 0, RW): alias ide @ide 00000000000001f0-00000000000001f7 0000000000000376-0000000000000376 (prio 0, RW): alias ide @ide 0000000000000376-0000000000000376 0000000000000378-000000000000037f (prio 0, RW): alias parallel @parallel 0000000000000378-000000000000037f 00000000000003f1-00000000000003f5 (prio 0, RW): alias fdc @fdc 00000000000003f1-00000000000003f5 00000000000003f6-00000000000003f6 (prio 0, RW): alias ide @ide 00000000000003f6-00000000000003f6 00000000000003f7-00000000000003f7 (prio 0, RW): alias fdc @fdc 00000000000003f7-00000000000003f7 00000000000003f8-00000000000003ff (prio 0, RW): serial 00000000000004d0-00000000000004d0 (prio 0, RW): kvm-elcr 00000000000004d1-00000000000004d1 (prio 0, RW): kvm-elcr 0000000000000510-0000000000000511 (prio 0, RW): fwcfg 0000000000000cf8-0000000000000cfb (prio 0, RW): pci-conf-idx 0000000000000cfc-0000000000000cff (prio 0, RW): pci-conf-data 0000000000005658-0000000000005658 (prio 0, RW): vmport 000000000000c000-000000000000c0ff (prio 1, RW): es1370 000000000000c100-000000000000c13f (prio 1, RW): e1000-io 000000000000c140-000000000000c14f (prio 1, RW): piix-bmdma-container 000000000000c140-000000000000c143 (prio 0, RW): piix-bmdma 000000000000c144-000000000000c147 (prio 0, RW): bmdma 000000000000c148-000000000000c14b (prio 0, RW): piix-bmdma 000000000000c14c-000000000000c14f (prio 0, RW): bmdma aliases pc.ram 0000000000000000-000000000fffffff (prio 0, RW): pc.ram pci 0000000000000000-7ffffffffffffffe (prio 0, RW): pci 00000000000a0000-00000000000bffff (prio 1, RW): cirrus-lowmem-container 00000000000a0000-00000000000a7fff (prio 1, RW): alias vga.bank0 @vga.vram 0000000000000000-0000000000007fff 00000000000a0000-00000000000bffff (prio 0, RW): cirrus-low-memory 00000000000a8000-00000000000affff (prio 1, RW): alias vga.bank1 @vga.vram 0000000000008000-000000000000ffff 00000000000c0000-00000000000dffff (prio 1, RW): pc.rom 00000000000e0000-00000000000fffff (prio 1, R-): alias isa-bios @pc.bios 0000000000000000-000000000001ffff 00000000fc000000-00000000fdffffff (prio 1, RW): cirrus-pci-bar0 00000000fc000000-00000000fc7fffff (prio 1, RW): vga.vram 00000000fc000000-00000000fc7fffff (prio 0, RW): cirrus-linear-io 00000000fd000000-00000000fd3fffff (prio 0, RW): cirrus-bitblt-mmio 00000000feba0000-00000000febbffff (prio 1, RW): e1000-mmio 00000000febf0000-00000000febf0fff (prio 1, RW): cirrus-mmio 00000000fffe0000-00000000ffffffff (prio 0, R-): pc.bios ide 0000000000000000-7ffffffffffffffe (prio 0, RW): ide ide 0000000000000000-7ffffffffffffffe (prio 0, RW): ide ide 0000000000000000-7ffffffffffffffe (prio 0, RW): ide parallel 0000000000000000-7ffffffffffffffe (prio 0, RW): parallel fdc 0000000000000000-7ffffffffffffffe (prio 0, RW): fdc ide 0000000000000000-7ffffffffffffffe (prio 0, RW): ide fdc 0000000000000000-7ffffffffffffffe (prio 0, RW): fdc vga.vram 0000000000000000-00000000007fffff (prio 1, RW): vga.vram pc.bios 00000000fffe0000-00000000ffffffff (prio 0, R-): pc.bios > > Jan >