diff options
Diffstat (limited to 'unmodified_drivers/linux-2.6/platform-pci/platform-pci.c')
-rw-r--r-- | unmodified_drivers/linux-2.6/platform-pci/platform-pci.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c index 7973f86820..e6ff4107cb 100644 --- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -214,6 +214,14 @@ static uint64_t get_callback_via(struct pci_dev *pdev) #endif } +/* Invalidate foreign mappings (e.g., in qemu-based device model). */ +static uint16_t invlmap_port; +void xen_invalidate_foreign_mappings(void) +{ + outb(0, invlmap_port); +} +EXPORT_SYMBOL(xen_invalidate_foreign_mappings); + static int __devinit platform_pci_init(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -239,6 +247,8 @@ static int __devinit platform_pci_init(struct pci_dev *pdev, return -ENOENT; } + invlmap_port = ioaddr; + if (request_mem_region(mmio_addr, mmio_len, DRV_NAME) == NULL) { printk(KERN_ERR ":MEM I/O resource 0x%lx @ 0x%lx busy\n", |