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] Drivers cannot write to msix_iomem from DomU, is this ri

To: "Yi, Shunli" <syi@xxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: RE: [Xen-devel] Drivers cannot write to msix_iomem from DomU, is this right?
From: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>
Date: Fri, 10 Jul 2009 13:33:52 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc:
Delivery-date: Thu, 09 Jul 2009 22:34:55 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <E6ED841B7ED3FA4AB123FEAEF42B0ACA29C2FEA95E@xxxxxxxxxxxxxxxxxxxxx>
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>
References: <E6ED841B7ED3FA4AB123FEAEF42B0ACA29C2FEA902@xxxxxxxxxxxxxxxxxxxxx> <E2263E4A5B2284449EEBD0AAB751098402CD17403C@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <E6ED841B7ED3FA4AB123FEAEF42B0ACA29C2FEA95E@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcoBEoobDrbquKY6TriAQcUu5wBLFQAB/w7QAAC7JnAAAJhnMA==
Thread-topic: [Xen-devel] Drivers cannot write to msix_iomem from DomU, is this right?
Sorry that I don't know what's bnx and is it a Linux driver?
Basically domU will depends on pci backend to enable MSI/MSI-x.
 
--jyh


From: Yi, Shunli [mailto:syi@xxxxxxxxxxxx]
Sent: 2009年7月10日 13:19
To: Jiang, Yunhong; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-devel] Drivers cannot write to msix_iomem from DomU, is this right?

But how should I to understand the REG_WR() code when load the bnx2 module ?

 

 

Best Regards!

 

SHUNLI YI

WEBSENSE NETWORK SECURITY TECHNOLOGY R&D (BEIJING) CO. LTD.
ph: +8610.5884.4142

 

From: Jiang, Yunhong [mailto:yunhong.jiang@xxxxxxxxx]
Sent: 2009
710 12:57
To: Yi, Shunli; xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: RE: [Xen-devel] Drivers cannot write to msix_iomem from DomU, is this right?

 

The MSI-x will include vector information, which should be resource owned by Xen HV.

For example, if domU set the vector to be same as another device that owned by another domain (or dom0), or Xen HV's IPI, then it will cause trouble.

 

--jyh

 


From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Yi, Shunli
Sent: 2009
710 11:57
To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Drivers cannot write to msix_iomem from DomU, is this right?

Hi:

I’m using the Xen-3.3.1. and I find Xend doesn’t permit the DomU driver to access the msix_iomem.

 

"xend/server/pciif.py" : Line :342.

        if dev.msix:

            for (start, size) in dev.msix_iomem:

                start_pfn = start>>PAGE_SHIFT

                nr_pfns = (size+(PAGE_SIZE-1))>>PAGE_SHIFT

                log.debug('pci-msix: remove permission for 0x%x/0x%x 0x%x/0x%x' % \

                         (start,size, start_pfn, nr_pfns))

                rc = xc.domain_iomem_permission(domid = fe_domid,

                                                first_pfn = start_pfn,

                                                nr_pfns = nr_pfns,

                                                allow_access = False)

 

I haven’t wrote any driver code, but I think the driver should can write messages to the msix_iomem.

Because the driver will write some MSI information to the MSI register.

 

And I find following code in bnx2-1.8.5b:

File :                       bnx2.c  

Version:               1.8.5b

Function:             bnx2_enable_msix()

    bnx2_setup_msix_tbl(bp);

    REG_WR(bp, BNX2_PCI_MSIX_CONTROL, BNX2_MAX_MSIX_HW_VEC - 1);

    REG_WR(bp, BNX2_PCI_MSIX_TBL_OFF_BIR, BNX2_PCI_GRC_WINDOW2_BASE);

REG_WR(bp, BNX2_PCI_MSIX_PBA_OFF_BIT, BNX2_PCI_GRC_WINDOW3_BASE);

 

 

So, I think the msix_iomem should be always  writable for the DomU.

Am I Right?

 

 

Best Regards!

 

SHUNLI YI

WEBSENSE NETWORK SECURITY TECHNOLOGY R&D (BEIJING) CO. LTD.
ph: +8610.5884.4142

 

 

Protected by Websense Hosted Email Security ― www.websense.com

 

Click here to report this email as spam.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>