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@suse.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Roger Pau Monne authored and Jan Beulich committed 2018-03-23 10:27:50 +01:00
1 parent d6281be9d0
commit 738301591c
3 files changed
+9 -15

No files matched your search

+2 -6
View File
@@ -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
+6 -4
View File
@@ -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)
+1 -5
View File
@@ -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 {
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.