|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v12 12/12] vpci: do not expose unneeded functions to the user-space test harness
Some functions in vpci.c (vpci_remove_device and vpci_add_handlers)
are not used by the user-space test harness, so guard them with
__XEN__ in order to avoid exposing them to the user-space test
harness.
Requested-by: Jan Beulich <JBeulich@xxxxxxxx>
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
---
Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
Cc: Jan Beulich <jbeulich@xxxxxxxx>
Cc: Julien Grall <julien.grall@xxxxxxx>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
Cc: Tim Deegan <tim@xxxxxxx>
---
tools/tests/vpci/Makefile | 8 ++------
xen/drivers/vpci/vpci.c | 10 ++++++----
xen/include/xen/vpci.h | 6 +-----
3 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/tools/tests/vpci/Makefile b/tools/tests/vpci/Makefile
index e45fcb5cd9..5075bc2be2 100644
--- a/tools/tests/vpci/Makefile
+++ b/tools/tests/vpci/Makefile
@@ -24,12 +24,8 @@ distclean: clean
install:
vpci.c: $(XEN_ROOT)/xen/drivers/vpci/vpci.c
- # Trick the compiler so it doesn't complain about missing symbols
- sed -e '/#include/d' \
- -e '1s;^;#include "emul.h"\
- vpci_register_init_t *const __start_vpci_array[1]\;\
- vpci_register_init_t *const __end_vpci_array[1]\;\
- ;' <$< >$@
+ # Remove includes and add the test harness header
+ sed -e '/#include/d' -e '1s/^/#include "emul.h"/' <$< >$@
list.h: $(XEN_ROOT)/xen/include/xen/list.h
vpci.h: $(XEN_ROOT)/xen/include/xen/vpci.h
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 8ec9c916ea..2913b56500 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -20,10 +20,6 @@
#include <xen/sched.h>
#include <xen/vpci.h>
-extern vpci_register_init_t *const __start_vpci_array[];
-extern vpci_register_init_t *const __end_vpci_array[];
-#define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
-
/* Internal struct to store the emulated PCI registers. */
struct vpci_register {
vpci_read_t *read;
@@ -34,6 +30,11 @@ struct vpci_register {
struct list_head node;
};
+#ifdef __XEN__
+extern vpci_register_init_t *const __start_vpci_array[];
+extern vpci_register_init_t *const __end_vpci_array[];
+#define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
+
void vpci_remove_device(struct pci_dev *pdev)
{
spin_lock(&pdev->vpci->lock);
@@ -80,6 +81,7 @@ int __hwdom_init vpci_add_handlers(struct pci_dev *pdev)
return rc;
}
+#endif /* __XEN__ */
static int vpci_register_cmp(const struct vpci_register *r1,
const struct vpci_register *r2)
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index fc47163ba6..cb39e0ebea 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -90,11 +90,9 @@ struct vpci {
bool rom_enabled : 1;
/* FIXME: currently there's no support for SR-IOV. */
} header;
-#endif
/* MSI data. */
struct vpci_msi {
-#ifdef __XEN__
/* Address. */
uint64_t address;
/* Mask bitfield. */
@@ -113,12 +111,10 @@ struct vpci {
uint8_t vectors : 5;
/* Arch-specific data. */
struct vpci_arch_msi arch;
-#endif
} *msi;
/* MSI-X data. */
struct vpci_msix {
-#ifdef __XEN__
struct pci_dev *pdev;
/* List link. */
struct list_head next;
@@ -141,8 +137,8 @@ struct vpci {
bool updated : 1;
struct vpci_arch_msix_entry arch;
} entries[];
-#endif
} *msix;
+#endif
};
struct vpci_vcpu {
--
2.16.2
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |