diff options
author | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2006-08-17 16:21:08 +0100 |
---|---|---|
committer | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2006-08-17 16:21:08 +0100 |
commit | 738c1ffa96b8d8057f0698138d5a539e963116f2 (patch) | |
tree | 1178a6e7a42fc28f35b987c586cd09fb2824ca09 /unmodified_drivers/linux-2.6/platform-pci | |
parent | 98abf9b1f795271a8bafb74b97e856aafb185eb9 (diff) | |
download | xen-738c1ffa96b8d8057f0698138d5a539e963116f2.tar.gz xen-738c1ffa96b8d8057f0698138d5a539e963116f2.tar.bz2 xen-738c1ffa96b8d8057f0698138d5a539e963116f2.zip |
[HVM] Make grant tables functions work in PV-on-HVM drivers.
Signed-off-by: Steven Smith <ssmith@xensource.com>
Diffstat (limited to 'unmodified_drivers/linux-2.6/platform-pci')
-rw-r--r-- | unmodified_drivers/linux-2.6/platform-pci/Kbuild | 2 | ||||
-rw-r--r-- | unmodified_drivers/linux-2.6/platform-pci/platform-pci.c | 9 | ||||
-rw-r--r-- | unmodified_drivers/linux-2.6/platform-pci/platform-pci.h | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/unmodified_drivers/linux-2.6/platform-pci/Kbuild b/unmodified_drivers/linux-2.6/platform-pci/Kbuild index 0e85e50ff0..a4c1961a8a 100644 --- a/unmodified_drivers/linux-2.6/platform-pci/Kbuild +++ b/unmodified_drivers/linux-2.6/platform-pci/Kbuild @@ -4,4 +4,4 @@ obj-m := xen-platform-pci.o EXTRA_CFLAGS += -I$(M)/platform-pci -xen-platform-pci-objs := evtchn.o platform-pci.o xen_support.o features.o +xen-platform-pci-objs := evtchn.o platform-pci.o gnttab.o xen_support.o features.o 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 941608d12f..f32399c3ce 100644 --- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -64,15 +64,18 @@ static int __init init_xen_info(void) xatp.idx = 0; xatp.space = XENMAPSPACE_shared_info; xatp.gpfn = shared_info_frame; - BUG_ON(HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp)); + if (HYPERVISOR_memory_op(XENMEM_add_to_physmap, &xatp)) + BUG(); + shared_info_area = ioremap(shared_info_frame << PAGE_SHIFT, PAGE_SIZE); - - if (!shared_info_area) + if (shared_info_area == NULL) panic("can't map shared info\n"); phys_to_machine_mapping = NULL; + gnttab_init(); + return 0; } diff --git a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h index 8af732c69f..5e10413b13 100644 --- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h +++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h @@ -36,6 +36,8 @@ static inline int set_callback_irq(int irq) unsigned long alloc_xen_mmio(unsigned long len); +int gnttab_init(void); + void setup_xen_features(void); irqreturn_t evtchn_interrupt(int irq, void *dev_id, struct pt_regs *regs); |