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

RE: [Xen-devel] Drivers cannot write to msix_iomem from DomU, is this right?


  • To: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Yi, Shunli" <syi@xxxxxxxxxxxx>
  • Date: Thu, 9 Jul 2009 22:18:39 -0700
  • Accept-language: zh-CN, en-US
  • Acceptlanguage: zh-CN, en-US
  • Cc:
  • Delivery-date: Thu, 09 Jul 2009 22:20:57 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcoBEoobDrbquKY6TriAQcUu5wBLFQAB/w7QAAC7JnA=
  • Thread-topic: [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

 


Rackspace

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