Hi Wei,
Probably the guest is stuck at this point:
292: addr32 rep movsb /* PMM presence implies flat real mode */
This instruction does memcpy(0x200000, 0xc9000, 99*512=50688)
where 0x200000(%es:%edi=0:0x200000) is return from PMM,
0xc9000(%ds:%esi=0xc900:0) is the top address of etherboot ROM,
50688(%ecx) is the size of ROM.
I guess that something goes wrong around NPT in real mode.
Thanks,
Kouya
Huang2, Wei writes:
> Thank you, Kouya. I will test your patch tomorrow and tell you the
> results.
>
> My previous debug showed that guest hang happened around the following
> area of romprefix.S (etherboot/gpxe/src/arch/i386/prefix). Copying from
> ROM to PMM block never finished.
>
> /* PMM allocation succeeded: copy ROM to PMM block */
> movw $init_debug_pmm_2, %si
> xorw %di, %di
> call print_message
> pushal /* PMM presence implies 1kB stack */
> xorw %ax, %ax
> movw %ax, %es
> movl image_source, %edi
> xorl %esi, %esi
> movzbl romheader_size, %ecx
> shll $9, %ecx
>
> -Wei
> -----Original Message-----
> From: Kouya Shimura [mailto:kouya@xxxxxxxxxxxxxx]
> Sent: Tuesday, March 10, 2009 10:42 PM
> To: Huang2, Wei
> Cc: Yoshisato YANAGISAWA; xen-devel; takebe_akio@xxxxxxxxxxxxxx; Keir
> Fraser
> Subject: RE: [Xen-devel] Could not run HVM domain on the
> latestxen-unstable.hgand Barcelona.
>
> Hi Wei and YANAGISAWA-san,
>
> I'm looking into it. But it's difficult for me since I don't have a
> barcelona machine. Your cooperation would be really appreciated.
>
> At first, I suspected gPXE. But the e1000 driver in gPXE never use PMM
> services. On the other hand, rtl8139 uses PMM. So PMM looks a culprit.
>
> But, now I suspect 32bit gateway code in rombios, since the problem is
> only occured on AMD cpu which directly executes real mode code.
> On the other hand, Intel cpu emultates real mode code. The PMM is the
> first user of 32bit gateway code in the boot sequence.
>
> In order to confirm it, could you try the attached patch for test?
> N.B. the size of guest memory must be smaller than 0xdeadbeaf(3.5GB).
>
> If the guest dies with the following serial console message, 32bit
> gateway code is correct. otherwise, the guest hanging up means PMM is
> innocent.
> ========================================================================
> ==
> (XEN) io.c:199:d1 MMIO emulation failed @ 0008:deadbeaf: db e6 1c 80 8c
> 82
> (XEN) hvm.c:810:d1 Triple fault on VCPU0 - invoking HVM system reset.
> ========================================================================
> ==
>
> If you get the above message, please revert only 32bitgateway.c and try
> again. You can get debug messages of PMM.
>
> Thanks,
> Kouya
>
> Huang2, Wei writes:
> > We saw this problem recently. I traced it down to PMM patch submitted
> > by Kouya and Akio (changeset 19077).
> >
> > To fix this problem temporarily, add mode=e1000 to your vif option.
> > vif = [ 'type=ioemu, bridge=xenbr0, model=e1000']
> >
> >
> > Regards,
> >
> > -Wei
> >
> > -----Original Message-----
> > From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> > [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Yoshisato
> > YANAGISAWA
> > Sent: Tuesday, March 10, 2009 3:17 AM
> > To: xen-devel
> > Subject: [Xen-devel] Could not run HVM domain on the latest
> > xen-unstable.hgand Barcelona.
> >
> >
> > Hi all,
> >
> > Does anybody have tested the latest xen-unstable.hg with an HVM domain
>
> > on AMD Barcelona Opteron?
> > I cloned xen-unstable.hg today (2009-03-10 JST), made config file for
> > booting an OS image from CD-ROM, and tried to run an HVM domain.
> > However, it stops running while booting.
> >
> > According to the vnc, the virtual machine displayed following message:
> > (snip)
> > | Bochs BIOS - build: 06/23/99
> > | $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
> > | Options: apmbios pcibios eltorito PMM
> > |
> > | ata1 master: QEMU DVD-ROM ATAPI-4 CD-Rom/DVD-Rom
> > |
> > | gPXE (http://etherboot.org) - 00:04.0 C900 PCI2.10 INT19 PMM0020_
> >
> > According to the serial console, I also saw following message:
> > (XEN) HVM1: HVM Loader
> > (XEN) HVM1: Detected Xen v3.4-unstable
> > (XEN) HVM1: CPU speed is 2300 MHz
> > (XEN) irq.c:235: Dom1 PCI link 0 changed 0 -> 5
> > (XEN) HVM1: PCI-ISA link 0 routed to IRQ5
> > (XEN) irq.c:235: Dom1 PCI link 1 changed 0 -> 10
> > (XEN) HVM1: PCI-ISA link 1 routed to IRQ10
> > (XEN) irq.c:235: Dom1 PCI link 2 changed 0 -> 11
> > (XEN) HVM1: PCI-ISA link 2 routed to IRQ11
> > (XEN) irq.c:235: Dom1 PCI link 3 changed 0 -> 5
> > (XEN) HVM1: PCI-ISA link 3 routed to IRQ5
> > (XEN) HVM1: pci dev 01:3 INTA->IRQ10
> > (XEN) HVM1: pci dev 03:0 INTA->IRQ5
> > (XEN) HVM1: pci dev 04:0 INTA->IRQ5
> > (XEN) HVM1: pci dev 02:0 bar 10 size 02000000: f0000008
> > (XEN) HVM1: pci dev 03:0 bar 14 size 01000000: f2000008
> > (XEN) HVM1: pci dev 02:0 bar 14 size 00001000: f3000000
> > (XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
> > (XEN) HVM1: pci dev 04:0 bar 10 size 00000100: 0000c101
> > (XEN) HVM1: pci dev 04:0 bar 14 size 00000100: f3001000
> > (XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c201
> > (XEN) HVM1: Multiprocessor initialisation:
> > (XEN) HVM1: - CPU0 ... 48-bit phys ... fixed MTRRs ... var MTRRs
> > [2/8] ... don.
> > (XEN) HVM1: Testing HVM environment:
> > (XEN) HVM1: - REP INSB across page boundaries ... passed
> > (XEN) HVM1: Passed 1/1 tests
> > (XEN) HVM1: Writing SMBIOS tables ...
> > (XEN) HVM1: Loading ROMBIOS ...
> > (XEN) HVM1: 9628 bytes of ROMBIOS high-memory extensions:
> > (XEN) HVM1: Relocating to 0xfc000000-0xfc00259c ... done
> > (XEN) HVM1: Creating MP tables ...
> > (XEN) HVM1: Loading Cirrus VGABIOS ...
> > (XEN) HVM1: Loading PCI Option ROM ...
> > (XEN) HVM1: - Manufacturer: http://etherboot.org
> > (XEN) HVM1: - Product name: gPXE
> > (XEN) HVM1: Loading ACPI ...
> > (XEN) HVM1: - Lo data: 000ea020-000ea04f
> > (XEN) HVM1: - Hi data: fc002800-fc0042bf
> > (XEN) HVM1: vm86 TSS at fc004400
> > (XEN) HVM1: BIOS map:
> > (XEN) HVM1: c0000-c8fff: VGA BIOS
> > (XEN) HVM1: c9000-d57ff: Etherboot ROM
> > (XEN) HVM1: eb000-eb14c: SMBIOS tables
> > (XEN) HVM1: f0000-fffff: Main BIOS
> > (XEN) HVM1: Invoking ROMBIOS ...
> > (XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
> > (XEN) stdvga.c:147:d1 entering stdvga and caching modes
> > (XEN) HVM1: VGABios $Id: vgabios.c,v 1.67 2008/01/27 09:44:12 vruppert
>
> > Exp $
> > (XEN) HVM1: Bochs BIOS - build: 06/23/99
> > (XEN) HVM1: $Revision: 1.221 $ $Date: 2008/12/07 17:32:29 $
> > (XEN) HVM1: Options: apmbios pcibios eltorito PMM
> > (XEN) HVM1:
> > (XEN) HVM1: ata1 master: QEMU DVD-ROM ATAPI-4 CD-Rom/DVD-Rom
> > (XEN) HVM1: IDE time out
> > (XEN) HVM1:
> >
> > No suspicious log is found in /var/log/xen/xend.log.
> >
> > I came across this problem with AMD Quad-Core Opteron(tm) 2356 on Dell
>
> > PowerEdge R805. However, this kind of problem did not happened on the
>
> > another machine I use (Intel Xeon 5130).
> >
> > Does anybody know how to fix this problem or how to analyze it?
> >
> > Thank you in advance,
> >
> > --
> > Yoshisato YANAGISAWA, Ph.D.
> > Open Source Software Computing Project NTT Cyber Space Laboratories
> > NIPPON TELEGRAPH AND TELEPHONE CORPORATION
> > 1-1 Hikarinooka, Yokosuka-Shi,
> > Kanagawa 239-0847, Japan
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|