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