This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] Possible regression in "x86-64: reduce range spanned by 1:1

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Possible regression in "x86-64: reduce range spanned by 1:1 mapping and frame table indexes"
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Mon, 7 Dec 2009 10:53:08 +1100
Cc: Keir Fraser <keir.fraser@xxxxxxxxxx>
Delivery-date: Sun, 06 Dec 2009 15:53:33 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.20 (2009-06-14)
        changeset:   20236:d6f4089f0f8c
        user:        Keir Fraser <keir.fraser@xxxxxxxxxx>
        date:        Tue Sep 22 08:16:49 2009 +0100
        x86-64: reduce range spanned by 1:1 mapping and frame table indexes

        Introduces a virtual space conserving transformation on the MFN thus
        far used to index 1:1 mapping and frame table, removing the largest
        range of contiguous bits (below the most significant one) which are
        zero for all valid MFNs from the MFN representation, to be used to
        index into those arrays, thereby cutting the virtual range these
        tables must cover approximately by half with each bit removed.

        Since this should account for hotpluggable memory (in order to not
        requiring a re-write when that gets supported), the determination of
        which bits are candidates for removal must not be based on the E820
        information, but instead has to use the SRAT. That in turn requires a
        change to the ordering of steps done during early boot.

        Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

The change above seems to cause the panic below when used
in conjunction with qemu-xen

        commit f09a5ba89434bb3f28172640354258d1d6cd8579
        Author: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
        Date:   Fri Sep 18 16:41:42 2009 +0100

        passthrough: basic graphics passthrough support

        basic gfx passthrough support:
          - add a vga type for gfx passthrough
          - retrieve VGA bios from host 0xC0000, then load it to guest 0xC0000
          - register/unregister legacy VGA I/O ports and MMIOs for
            passthroughed gfx

        Signed-off-by: Ben Lin <ben.y.lin@xxxxxxxxx>
        Signed-off-by: Weidong Han <weidong.han@xxxxxxxxx>
        Acked-by: Jean Guyader <jean.guyader@xxxxxxxxxx>
        Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

Which is the qemu-xen version listed in Config.mk.
And the following version of etherboot which includes
support for the Intel 82576 (igb), added by me.

        commit d06ae11df9a2ce94518c4665c9315d3514908dd8
        Author: Thomas Miletich <thomas.miletich@xxxxxxxxx>
        Date:   Wed Nov 25 18:02:59 2009 +0100

        [e1000] Enable interrupts in a more UNDI compatible way

        Signed-off-by: Marty Connor <mdc@xxxxxxxxxxxxx>

The panic occurs when the 82576 is passed through at boot time
and used for PXE boot. It does not occur when a 82572 (a very
different card, but it uses the same gpxe driver) is used.
Nor does it occur when xen-unstable is rolled back to the previous
revision. The problem still occurs with the latest xen-unstable.

(XEN) PCI add device 01:00.0
pciback 0000:01:00.0: seizing device
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
ACPI: PCI interrupt for device 0000:01:00.0 disabled
(XEN) [VT-D]iommu.c:1289:d0 domain_context_unmap:PCIe: bdf = 1:0.0
(XEN) [VT-D]iommu.c:1175:d0 domain_context_mapping:PCIe: bdf = 1:0.0
(XEN) [VT-D]io.c:280:d0 VT-d irq bind: m_irq = 37 device = 4 intx = 0
(XEN) HVM1: HVM Loader
(XEN) HVM1: Detected Xen v3.5-unstable
(XEN) HVM1: CPU speed is 2827 MHz
(XEN) irq.c:243: Dom1 PCI link 0 changed 0 -> 5
(XEN) HVM1: PCI-ISA link 0 routed to IRQ5
(XEN) irq.c:243: Dom1 PCI link 1 changed 0 -> 10
(XEN) HVM1: PCI-ISA link 1 routed to IRQ10
(XEN) irq.c:243: Dom1 PCI link 2 changed 0 -> 11
(XEN) HVM1: PCI-ISA link 2 routed to IRQ11
(XEN) irq.c:243: 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 04:0 bar 14 size 00400000: f3000000
(XEN) HVM1: pci dev 04:0 bar 30 size 00400000: f3400000
(XEN) domctl.c:836:d0 memory_map:add: gfn=f3800 mfn=f0800 nr_mfns=20
(XEN) HVM1: pci dev 04:0 bar 10 size 00020000: f3800000
(XEN) domctl.c:836:d0 memory_map:add: gfn=f3820 mfn=f0840 nr_mfns=4
(XEN) domctl.c:846:d0 memory_map:remove: gfn=f3820 mfn=f0840 nr_mfns=1
(XEN) HVM1: pci dev 04:0 bar 1c size 00004000: f3820000
(XEN) HVM1: pci dev 02:0 bar 14 size 00001000: f3824000
(XEN) HVM1: pci dev 03:0 bar 10 size 00000100: 0000c001
(XEN) HVM1: pci dev 04:0 bar 18 size 00000020: 0000c101
(XEN) domctl.c:887:d0 ioport_map:add f_gport=c100 f_mport=3100 np=20
(XEN) HVM1: pci dev 01:1 bar 20 size 00000010: 0000c121
(XEN) HVM1: Multiprocessor initialisation:
(XEN) HVM1:  - CPU0 ... 36-bit phys ... fixed MTRRs ... var MTRRs [2/8] ... 
(XEN) HVM1: Testing HVM environment:
(XEN) HVM1:  - REP INSB across page boundaries ... passed
(XEN) HVM1:  - GS base MSRs and SWAPGS ... passed
(XEN) HVM1: Passed 2 of 2 tests
(XEN) HVM1: Writing SMBIOS tables ...
(XEN) HVM1: Loading ROMBIOS ...
(XEN) HVM1: 9788 bytes of ROMBIOS high-memory extensions:
(XEN) HVM1:   Relocating to 0xfc000000-0xfc00263c ... 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-fc011dcf
(XEN) HVM1: vm86 TSS at fc012000
(XEN) HVM1: BIOS map:
(XEN) HVM1:  c0000-c8fff: VGA BIOS
(XEN) HVM1:  c9000-da7ff: gPXE ROM
(XEN) HVM1:  eb000-eb14e: 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: ata0-0: PCHS=4161/16/63 translation=large LCHS=520/128/63
(XEN) HVM1: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (2048 MBytes)
(XEN) HVM1: IDE time out
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: 
(XEN) HVM1: Press F12 for boot menu.
(XEN) HVM1: 
(XEN) HVM1: Booting from Network...
(XEN) HVM1: Booting from c900:02ed
(XEN) ----[ Xen-3.5-unstable  x86_64  debug=y  Not tainted ]----
(XEN) CPU:    0
(XEN) RIP:    e008:[<ffff82c4801c0a72>] sh_remove_shadows+0x149/0x86a
(XEN) RFLAGS: 0000000000010286   CONTEXT: hypervisor
(XEN) rax: ffff8301140fa000   rbx: ffff82f601e10000   rcx: 0000000000000000
(XEN) rdx: ffff82c4801fb9e0   rsi: 00000000000f0800   rdi: ffff8301140fae1c
(XEN) rbp: ffff82c4802dfb68   rsp: ffff82c4802dfb38   r8:  00000000000f0800
(XEN) r9:  ffff8301186a8000   r10: ffff8300ddc08000   r11: 0000000000000000
(XEN) r12: ffff8300ddc08000   r13: 00000000000f0800   r14: ffff82c4802dff28
(XEN) r15: 0000000000000000   cr0: 0000000080050033   cr4: 00000000000026f0
(XEN) cr3: 00000001186a3000   cr2: ffff82f601e1000f
(XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
(XEN) Xen stack trace from rsp=ffff82c4802dfb38:
(XEN)    0000000100000001 ffff82c4802dfce8 ffff8301140fa000 ffff8300ddc08000
(XEN)    ffff82c4802dff28 0000000000000000 ffff82c4802dfe18 ffff82c4801cbfff
(XEN)    ffff82c4802dff28 ffff82c4802dff28 ffff82c480257ba0 ffff82c4802dff28
(XEN)    ffff82c4802dff28 ffff82c4802dff28 ffff82c4802dff28 ffff82c4802dfdc8
(XEN)    ffff82c4802dfcc8 ffff82c4802dff28 ffff82c4802dfce0 ffff82c4802dff28
(XEN)    00000000f38000d8 ffff8301140faeb0 ffff8301140fae18 ffff8301140fa210
(XEN)    ffff81800079c000 0000004400000000 0000000000000000 0000000000000f38
(XEN)    00000000000f3800 00000000000f0800 0000000000000048 ffff8300ddc09a38
(XEN)    ffff8140c0003ce0 0000000000000030 ffffffffffffffff 00000020f81dc348
(XEN)    ffff81800079c0f8 000000000000001f 000000000000ad8e ffffffffffffffff
(XEN)    00000000000f3800 000000000011602c ffff81800079c100 00000000000f3800
(XEN)    00000000000f0800 00000000000f0800 0000000000000000 00000020802dfde8
(XEN)    0000000000000000 00000000000f3800 00000000f081f037 ffff8300ddc08000
(XEN)    000000000011869f 0000000500000005 ffff82c4802dff28 0000002000000020
(XEN)    ffff82c4802d0000 ffff000000d880c7 1cbb8308408bffff 7d83387512000001
(XEN)    1f0014ba32740044 0000000000000527 0c9f000800000007 07ec3880ffffffff
(XEN)    0c93001000000000 07ec3880ffffffff 0c93001000000000 07ec3880ffffffff
(XEN)    0000c09300000000 0000000000000005 ffff82c4802dfde8 ffff82c4802dff28
(XEN)    000000000000000a ffff82c480230ee0 ffff82c4802dfdc8 fffffffffffffffe
(XEN)    ffff8300ddc08000 ffff82c4802dfde8 00000000f0800037 ffff82c4802dff28
(XEN) Xen call trace:
(XEN)    [<ffff82c4801c0a72>] sh_remove_shadows+0x149/0x86a
(XEN)    [<ffff82c4801cbfff>] sh_page_fault__guest_2+0x184d/0x1bf3
(XEN)    [<ffff82c4801b2c1d>] vmx_vmexit_handler+0x717/0x1a68
(XEN) Pagetable walk from ffff82f601e1000f:
(XEN)  L4[0x105] = 00000000decea027 5555555555555555
(XEN)  L3[0x1d8] = 000000011bffb063 5555555555555555
(XEN)  L2[0x00f] = 0000000000000000 ffffffffffffffff 
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) [error_code=0000]
(XEN) Faulting linear address: ffff82f601e1000f
(XEN) ****************************************
(XEN) Reboot in five seconds...

Xen-devel mailing list