libxl: NetBSD PCI passthrough support
authorChristoph Egger <Christoph.Egger@amd.com>
Thu, 25 Oct 2012 16:12:55 +0000 (17:12 +0100)
committerChristoph Egger <Christoph.Egger@amd.com>
Thu, 25 Oct 2012 16:12:55 +0000 (17:12 +0100)
Add PCI passthrough support for HVM guests.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/libxl/libxl_internal.h
tools/libxl/libxl_osdeps.h

index 8130d13388bf2e7c62fea0720cd74754f9089139..8f220cb05b0788c6e1207dd58c6e64d269ec4bf9 100644 (file)
@@ -373,8 +373,6 @@ typedef struct {
 #define PCI_SLOT(devfn)         (((devfn) >> 3) & 0x1f)
 #define PCI_FUNC(devfn)         ((devfn) & 0x07)
 #define AUTO_PHP_SLOT          0x100
-#define SYSFS_PCI_DEV          "/sys/bus/pci/devices"
-#define SYSFS_PCIBACK_DRIVER   "/sys/bus/pci/drivers/pciback"
 #define XENSTORE_PID_FILE      "/var/run/xenstored.pid"
 
 #define PROC_PCI_NUM_RESOURCES 7
index fbb3e7d99722397003ae99b485cd7ce39edad13d..f91bc79865c2ae7f8bee099cf0d98a2b0fa2f040 100644 (file)
 
 #define _GNU_SOURCE
 
-#if defined(__NetBSD__) || defined(__OpenBSD__)
+#if defined(__NetBSD__)
+#define SYSFS_PCI_DEV          "/sys/bus/pci/devices"
+#define SYSFS_PCIBACK_DRIVER   "/kern/xen/pci"
+#include <util.h>
+#elif defined(__OpenBSD__)
 #include <util.h>
 #elif defined(__linux__)
+#define SYSFS_PCI_DEV          "/sys/bus/pci/devices"
+#define SYSFS_PCIBACK_DRIVER   "/sys/bus/pci/drivers/pciback"
 #include <pty.h>
 #elif defined(__sun__)
 #include <stropts.h>
 #endif
 
+#ifndef SYSFS_PCIBACK_DRIVER
+#error define SYSFS_PCIBACK_DRIVER for your platform
+#endif
+#ifndef SYSFS_PCI_DEV
+#error define SYSFS_PCI_DEV for your platform
+#endif
+
 #ifdef NEED_OWN_ASPRINTF
 #include <stdarg.h>