2012-09-17 17:49:23 +02:00
|
|
|
Index: xen-4.2.0-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
|
|
|
|
===================================================================
|
|
|
|
--- xen-4.2.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
|
|
|
|
+++ xen-4.2.0-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
|
2010-01-16 01:12:54 +01:00
|
|
|
@@ -40,7 +40,9 @@
|
|
|
|
#include <xen/platform-compat.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
+#ifndef shared_info_area
|
|
|
|
void *shared_info_area;
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
#define is_valid_evtchn(x) ((x) != 0)
|
|
|
|
#define evtchn_from_irq(x) (irq_evtchn[irq].evtchn)
|
2012-09-17 17:49:23 +02:00
|
|
|
Index: xen-4.2.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
|
|
|
|
===================================================================
|
|
|
|
--- xen-4.2.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
|
|
|
|
+++ xen-4.2.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
|
2012-06-11 16:07:46 +02:00
|
|
|
@@ -76,7 +76,6 @@ static uint64_t callback_via;
|
2010-01-16 01:12:54 +01:00
|
|
|
static int __devinit init_xen_info(void)
|
|
|
|
{
|
|
|
|
struct xen_add_to_physmap xatp;
|
|
|
|
- extern void *shared_info_area;
|
|
|
|
|
|
|
|
#ifdef __ia64__
|
|
|
|
xencomm_initialize();
|
2012-06-11 16:07:46 +02:00
|
|
|
@@ -84,6 +83,7 @@ static int __devinit init_xen_info(void)
|
2010-01-16 01:12:54 +01:00
|
|
|
|
|
|
|
setup_xen_features();
|
|
|
|
|
|
|
|
+#ifndef shared_info_area
|
|
|
|
shared_info_frame = alloc_xen_mmio(PAGE_SIZE) >> PAGE_SHIFT;
|
|
|
|
xatp.domid = DOMID_SELF;
|
|
|
|
xatp.idx = 0;
|
2012-06-11 16:07:46 +02:00
|
|
|
@@ -96,6 +96,11 @@ static int __devinit init_xen_info(void)
|
2010-01-16 01:12:54 +01:00
|
|
|
ioremap(shared_info_frame << PAGE_SHIFT, PAGE_SIZE);
|
|
|
|
if (shared_info_area == NULL)
|
|
|
|
panic("can't map shared info\n");
|
|
|
|
+#else
|
|
|
|
+ shared_info_frame = __pa(shared_info_area) >> PAGE_SHIFT;
|
|
|
|
+ printk(KERN_INFO "Using kernel provided shared info (pfn=%lx)\n",
|
|
|
|
+ shared_info_frame);
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
2012-09-17 17:49:23 +02:00
|
|
|
Index: xen-4.2.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
|
|
|
|
===================================================================
|
|
|
|
--- xen-4.2.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
|
|
|
|
+++ xen-4.2.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
|
2010-01-16 01:12:54 +01:00
|
|
|
@@ -27,6 +27,11 @@
|
|
|
|
unsigned long alloc_xen_mmio(unsigned long len);
|
|
|
|
void platform_pci_resume(void);
|
|
|
|
|
|
|
|
+#ifdef CONFIG_ENLIGHTEN_SPINLOCKS
|
|
|
|
+#define shared_info_area xen_shared_info
|
|
|
|
+#endif
|
|
|
|
+extern void *shared_info_area;
|
|
|
|
+
|
|
|
|
extern struct pci_dev *xen_platform_pdev;
|
|
|
|
|
|
|
|
#endif /* _XEN_PLATFORM_PCI_H */
|