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

RE: [Xen-devel] Could not run HVM domain on the latestxen-unstable.hgand Barcelona.



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


 


Rackspace

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