ioemu: add pci passthrough support to NetBSD
PATCH 1/1 ioemu: add pci passthrough support to NetBSD
Support PCI passthrough for NetBSD.
Signature · 6 lines
---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85689 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632
hw/pass-through.c +0 -2
@@ -84,8 +84,6 @@*/ #include "pass-through.h" -#include "pci/header.h" -#include "pci/pci.h" #include "pt-msi.h" #include "qemu-xen.h" #include "iomulti.h"
hw/pass-through.h +5 -0
@@ -20,8 +20,13 @@#include "hw.h" #include "pci.h" +#ifdef __NetBSD__ +#include "pciutils/header.h" +#include "pciutils/pci.h" +#else #include "pci/header.h" #include "pci/pci.h" +#endif #include "exec-all.h" #include "sys-queue.h" #include "qemu-timer.h"
hw/piix4acpi.c +1 -1
@@ -41,7 +41,7 @@#define PIIX4ACPI_LOG (level, fmt, ...) do { if (level <= PIIX4ACPI_LOGLEVEL) qemu_log(fmt, ## __VA_ARGS__); } while (0)#ifdef CONFIG_PASSTHROUGH -#include <pci/header.h> +#include "pass-through.h" #endif /* PM1a_CNT bits, as defined in the ACPI specification. */
hw/pt-graphics.c +0 -2
@@ -3,8 +3,6 @@*/ #include "pass-through.h" -#include "pci/header.h" -#include "pci/pci.h" #include <unistd.h> #include <sys/ioctl.h>
hw/pt-msi.c +5 -0
@@ -22,6 +22,11 @@#include "pt-msi.h" #include <sys/mman.h> +#ifdef __NetBSD__ +/* MAP_LOCKED is Linux specific. MAP_WIRED is NetBSD's equivalent. */ +#define MAP_LOCKED MAP_WIRED +#endif +void msi_set_enable (struct pt_dev *dev,int en) {uint16_t val =0 ;
hw/pt-msi.h +0 -1
@@ -1,7 +1,6 @@#ifndef _PT_MSI_H#define _PT_MSI_H -#include "pci/pci.h" #include "pass-through.h" #define PCI_CAP_ID_MSI 0x05/* Message Signalled Interrupts */
xen-hooks.mak +14 -2
@@ -57,8 +57,16 @@ endif ifdef CONFIG_STUBDOM CONFIG_PASSTHROUGH=1 else - ifeq (,$(wildcard /usr/include/pci)) -$(warning === pciutils-dev package not found - missing /usr/include/pci) + PCIUTILS_NetBSD=/usr/pkg/include/pciutils + PCIUTILS_Linux=/usr/include/pci + ifeq ($(CONFIG_NetBSD), y) +PCIUTILS_HEADER=$(PCIUTILS_NetBSD) + endif + ifeq ($(CONFIG_Linux), y) +PCIUTILS_HEADER=$(PCITUILS_Linux) + endif + ifeq (,$(wildcard $(PCIUTILS_HEADER))) +$(warning === pciutils-dev package not found - missing $(PCIUTILS_HEADER)) $(warning === PCI passthrough capability has been disabled) else CONFIG_PASSTHROUGH=1
@@ -67,7 +75,11 @@ endif ifdef CONFIG_PASSTHROUGH OBJS+= pass-through.o pt-msi.o pt-graphics.o +ifeq ($(CONFIG_NetBSD), y) +LIBS += -lpciutils -lpci +else LIBS += -lpci +endif CFLAGS += -DCONFIG_PASSTHROUGH $(info === PCI passthrough capability has been enabled ===) endif
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel
Christoph Egger writes ("[Xen-devel] [PATCH] ioemu: add pci passthrough support to NetBSD"):
Quoted 2 lines
Support PCI passthrough for NetBSD.
Hmm. I'm a bit reluctant to add new features to qemu-xen-traditional. Does this work with the new upstream-based qemu-xen ?
Thanks,
Ian.
Quoted 7 lines · Ian Jackson
Christoph Egger writes ("[Xen-devel] [PATCH] ioemu: add pci passthrough support to NetBSD"):
Quoted 2 lines
Support PCI passthrough for NetBSD.
Hmm. I'm a bit reluctant to add new features to qemu-xen-traditional. Does this work with the new upstream-based qemu-xen ?
I do not know.
Christoph
Signature · 6 lines
---to satisfy European Law for business letters: Advanced Micro Devices GmbH Einsteinring 24, 85689 Dornach b. Muenchen Geschaeftsfuehrer: Alberto Bozzo Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632
Christoph Egger writes ("Re: [Xen-devel] [PATCH] ioemu: add pci passthrough support to NetBSD"):
Quoted 6 lines · Ian Jackson
Quoted 3 lines
Hmm. I'm a bit reluctant to add new features to qemu-xen-traditional. Does this work with the new upstream-based qemu-xen ?
I do not know.
Certainly new features should go to the upstream qemu first.
Thanks,
Ian.