As previously described, newer isolinux (as used in openSuSE 10.2) exposes
issues with emulation, specifically (but perhaps not restricted to) non-flat
protected mode.
While we are looking into this, and supposedly Intel folks are too, any help
or specifically pointers to possible problematic areas from people knowing
this code better than we do would be greatly appreciated.
Currently, this is what I get:
(XEN) (file=hvm.c, line=195) Allocated port 3 for hvm.
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242ed (pseudophys
a0): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242ec (pseudophys
a1): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242eb (pseudophys
a2): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242ea (pseudophys
a3): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e9 (pseudophys
a4): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e8 (pseudophys
a5): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e7 (pseudophys
a6): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e6 (pseudophys
a7): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e5 (pseudophys
a8): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e4 (pseudophys
a9): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e3 (pseudophys
aa): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e2 (pseudophys
ab): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e1 (pseudophys
ac): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242e0 (pseudophys
ad): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242df (pseudophys
ae): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242de (pseudophys
af): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242dd (pseudophys
b0): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242dc (pseudophys
b1): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242db (pseudophys
b2): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242da (pseudophys
b3): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d9 (pseudophys
b4): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d8 (pseudophys
b5): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d7 (pseudophys
b6): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d6 (pseudophys
b7): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d5 (pseudophys
b8): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d4 (pseudophys
b9): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d3 (pseudophys
ba): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d2 (pseudophys
bb): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d1 (pseudophys
bc): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242d0 (pseudophys
bd): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242cf (pseudophys
be): count=2 type=0
(XEN) (file=memory.c, line=180) Dom9 freeing in-use page 1242ce (pseudophys
bf): count=2 type=0
(XEN) vmx_do_launch(): GUEST_CR3<=002c97a0, HOST_CR3<=2bcbb3000
(XEN) (GUEST: 9) HVM Loader
(XEN) (GUEST: 9) Loading ROMBIOS ...
(XEN) (GUEST: 9) Loading Cirrus VGABIOS ...
(XEN) (GUEST: 9) Loading VMXAssist ...
(XEN) (GUEST: 9) VMX go ...
(XEN) (GUEST: 9) VMXAssist (Oct 6 2006)
(XEN) (GUEST: 9) Memory size 512 MB
(XEN) (GUEST: 9) E820 map:
(XEN) (GUEST: 9) 0000000000000000 - 000000000009F000 (RAM)
(XEN) (GUEST: 9) 000000000009F000 - 00000000000A0000 (Reserved)
(XEN) (GUEST: 9) 00000000000A0000 - 00000000000C0000 (Type 16)
(XEN) (GUEST: 9) 00000000000F0000 - 0000000000100000 (Reserved)
(XEN) (GUEST: 9) 0000000000100000 - 000000001FFF0000 (RAM)
(XEN) (GUEST: 9) 000000001FFF0000 - 000000001FFFA000 (ACPI Data)
(XEN) (GUEST: 9) 000000001FFFA000 - 000000001FFFD000 (ACPI NVS)
(XEN) (GUEST: 9) 000000001FFFD000 - 000000001FFFE000 (Type 19)
(XEN) (GUEST: 9) 000000001FFFE000 - 000000001FFFF000 (Type 18)
(XEN) (GUEST: 9) 000000001FFFF000 - 0000000020000000 (Type 17)
(XEN) (GUEST: 9) 00000000FEC00000 - 0000000100000000 (Type 16)
(XEN) (GUEST: 9)
(XEN) (GUEST: 9) Start BIOS ...
(XEN) (GUEST: 9) Starting emulated 16-bit real-mode: ip=F000:FFF0
(XEN) (GUEST: 9) rombios.c,v 1.138 2005/05/07 15:55:26 vruppert Exp $
(XEN) (GUEST: 9) Remapping master: ICW2 0x8 -> 0x20
(XEN) (GUEST: 9) Remapping slave: ICW2 0x70 -> 0x28
(XEN) (GUEST: 9) VGABios $Id: vgabios.c,v 1.61 2005/05/24 16:50:50 vruppert Exp
$
(XEN) (GUEST: 9) HVMAssist BIOS, 1 cpu, $Revision: 1.138 $ $Date: 2005/05/07
15:55:26 $
(XEN) (GUEST: 9)
(XEN) (GUEST: 9) ata0-0: PCHS=8322/16/63 translation=lba LCHS=522/255/63
(XEN) (GUEST: 9) ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (4096 MBytes)
(XEN) (GUEST: 9) ata0 slave: Unknown device
(XEN) (GUEST: 9) ata1 master: QEMU CD-ROM ATAPI-4 CD-Rom/DVD-Rom
(XEN) (GUEST: 9) ata1 slave: Unknown device
(XEN) (GUEST: 9)
(XEN) (GUEST: 9) Booting from CD-Rom...
(XEN) (GUEST: 9) Trap (0xC) while in real mode
(XEN) (GUEST: 9) eax 8220 ecx 30 edx 0 ebx 800000
(XEN) (GUEST: 9) esp D6914 ebp 200C esi 5521E edi 5521E
(XEN) (GUEST: 9) eip 102 eflags 33002 cs 4004 ds 0
(XEN) (GUEST: 9) es 0 fs 0 uss 5321 uesp FFFA0001
(XEN) (GUEST: 9) ves 4004 vds 4004 vfs 0 vgs 0
(XEN) (GUEST: 9) trapno C errno 0
(XEN) (GUEST: 9) cr0 50032 cr2 0 cr3 0 cr4 651
(XEN) (GUEST: 9) Halt called from %eip 0xD0382
Note the entirely broken stack pointer (uesp).
Using the mini ISO (or alternatively the full first installation medium)
provided
with the openSuSE betas or RC1 is sufficient to reproduce the problem.
Attached patch shows the current state of fixing, which gets things going on
AMD-V. This is against 3.0.3 (and specifically not cleaned up to apply against
current -unstable) and known to not address all problems in that area, yet,
although the fact that things now work on AMD-V indicates that the remaining
problem(s) is/are likely in VMX specific code, within which, except for the odd
check_for_null_selector() (for which I sent a separate mail yesterday,
unfortunately without having got a reply from any Intel engineer so far), no
other obvious areas that need fixing have been identified.
Thanks,
Jan
non-flat-pm.patch
Description: Text document
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|