diff options
author | kaf24@localhost.localdomain <kaf24@localhost.localdomain> | 2007-01-27 13:32:27 +0000 |
---|---|---|
committer | kaf24@localhost.localdomain <kaf24@localhost.localdomain> | 2007-01-27 13:32:27 +0000 |
commit | 249c2a8ce6f2e8f193f73918dc1aeafe19b6a739 (patch) | |
tree | 38d12677f141c6cdf1ad53d08514f6ab4763ea79 /unmodified_drivers | |
parent | f42eb8636f525fce8a8bec63dab14c24e3679641 (diff) | |
download | xen-249c2a8ce6f2e8f193f73918dc1aeafe19b6a739.tar.gz xen-249c2a8ce6f2e8f193f73918dc1aeafe19b6a739.tar.bz2 xen-249c2a8ce6f2e8f193f73918dc1aeafe19b6a739.zip |
[HVM] Allow HVM guest to request invalidation of foreign mappings via
an I/O port write.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Diffstat (limited to 'unmodified_drivers')
-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", |