WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re[Xen-devel] ceiving NMI, when writing on mmaped PCI

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re[Xen-devel] ceiving NMI, when writing on mmaped PCI
From: Guillaume Robin <robingu@xxxxxxxxxxxxxxx>
Date: Thu, 5 Mar 2009 06:16:39 -0800 (PST)
Delivery-date: Thu, 05 Mar 2009 06:17:20 -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
Hi,

I'm using xen 3.3.1 and running a 2.6.18.8-xen Dom0 (compiled from xen.org).
My hardware is a HP Dc7800 with VT and VT-D activated.

I assigned a acquisition card (NI6023E) to a HVM guest from port 07:09.0
On Dom0 lspci -v give me :

#07:09.0 Class ff00: National Instruments PCI-6023E
#       Flags: bus master, medium devsel, latency 32, IRQ 16
#       Memory at f0200000 (32-bit, non-prefetchable) [size=4K]
#       Memory at f0201000 (32-bit, non-prefetchable) [size=4K]

When I load my VM I get these debug messages so I think memory mapping is OK
for this card.
(from f0200000 on Dom0 to f3001000 on Dom1 and from f0201000 on Dom0 to
f3002000 on Dom1)
#(XEN) [VT-D]iommu.c:1263: domain_context_mapping:PCI:  bdf = 7:9.0
#(XEN) [VT-D]iommu.c:1278:d0 domain_context_mapping:map:  bdf = 7:9.0 ->
0:1e.0
#(XEN) [VT-D]io.c:140: VT-d irq bind: m_irq = 10 device = 6 intx = 0 //
device 6 on HVM is my card
...
#(XEN) HVM1: pci dev 06:0 bar 10 size 00001000: f3001000
#(XEN) domctl.c:776:d0 memory_map:add: gfn=f3001 mfn=f0200 nr_mfns=1
#(XEN) HVM1: pci dev 06:0 bar 14 size 00001000: f3002000
#(XEN) domctl.c:776:d0 memory_map:add: gfn=f3002 mfn=f0201 nr_mfns=1

I tried some test programs witch all resulted in NMI error on Dom0, so i
tried a simple test to check this mapping.

When I try to write on Bar0 from this card no error appear, but if I write
on Bar1 I get NMI errors.

test program (on HVM): 

-------------------------------------------
...
printf("memory mapping bar0 : 0x%X, and 1 : 0x%X...\n", physicalBar0,
physicalBar1); // physicalBar0 = 0xF3001000 and physicalBar1=0xF3002000
    mem0 = mmap (NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd,
physicalBar0);
    mem1 = mmap (NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd,
physicalBar1);
printf("Bar0 mapped to : 0x%X, Bar1 to : 0x%X \n", mem0, mem1);
// Ex : Bar0 mapped to : 0x14CDB000, Bar1 to : 0x14CDC000 (these address
doesn't realy matter)

    if ( MAP_FAILED == mem0 || MAP_FAILED == mem1)
    {
        close (fd);
        printf("map failed \n");
        return NULL;
    }
printf("testing write on mem0\n");
sleep(1); // Sleep to give time to printf before NMI appear on Dom0 (using
SSH from dom0 to guest to see both output synchronously)
int* titi=(int*)mem0;
*titi=0x1; // Look to work
printf("testing write on mem1\n");
sleep(1);
titi=(int*)mem1;
*titi=0x1; // ==> receiving a NMI on Dom0 while executing this line
...
-------------------------------------------
NMI message :
#Mar  2 14:53:38 XenVT kernel: Uhhuh. NMI received. Dazed and confused, but
trying to continue 
#Mar  2 14:53:38 XenVT kernel: You probably have a hardware problem with
your RAM chips


Why this code working on simple kernel (tested on 2.6.18-amd64), can't work
in my HVM with this card assigned ?

btw a message in xm dmesg look strange :
(XEN) [VT-D]iommu.c:1736: Queued Invalidation hardware not found
(XEN) [VT-D]iommu.c:1745: Interrupt Remapping hardware not found

Could this be linked ?
Is there a problem in xen with multiple bar remapping ?

Thank you for your help.



-- 
View this message in context: 
http://www.nabble.com/Receiving-NMI%2C-when-writing-on-mmaped-PCI-tp22352457p22352457.html
Sent from the Xen - Dev mailing list archive at Nabble.com.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>