[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 for-4.11] kconfig: don't select VPCI if building a shim-only binary
Add dummy replacements for some functions used outside of the vpci code, and also a guard in vmsi.c to prevent vpci arch specific helpers from being compiled if the option is not selected. Reported-by: Wei Liu <wei.liu2@xxxxxxxxxx> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> --- xen/arch/x86/Kconfig | 2 +- xen/arch/x86/hvm/vmsi.c | 2 ++ xen/include/xen/vpci.h | 26 ++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index c405c4bf4f..f64fc56739 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -23,7 +23,7 @@ config X86 select HAS_PCI select HAS_PDX select HAS_UBSAN - select HAS_VPCI + select HAS_VPCI if !PV_SHIM_EXCLUSIVE select NUMA config ARCH_DEFCONFIG diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c index c31d27c389..900d4f67d4 100644 --- a/xen/arch/x86/hvm/vmsi.c +++ b/xen/arch/x86/hvm/vmsi.c @@ -624,6 +624,7 @@ void msix_write_completion(struct vcpu *v) gdprintk(XENLOG_WARNING, "MSI-X write completion failure\n"); } +#ifdef CONFIG_HAS_VPCI static unsigned int msi_gflags(uint16_t data, uint64_t addr, bool masked) { /* @@ -867,3 +868,4 @@ int vpci_msix_arch_print(const struct vpci_msix *msix) return 0; } +#endif /* CONFIG_HAS_VPCI */ diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h index 29616624ad..1d7147367e 100644 --- a/xen/include/xen/vpci.h +++ b/xen/include/xen/vpci.h @@ -210,6 +210,32 @@ static inline unsigned int vmsix_entry_nr(const struct vpci_msix *msix, #else /* !CONFIG_HAS_VPCI */ struct vpci_vcpu {}; + +static inline int vpci_add_handlers(struct pci_dev *pdev) +{ + return 0; +} + +static inline void vpci_dump_msi(void) { } + +static inline uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, + unsigned int size) +{ + ASSERT_UNREACHABLE(); + return ~(uint32_t)0; +} + +static inline void vpci_write(pci_sbdf_t sbdf, unsigned int reg, + unsigned int size, uint32_t data) +{ + ASSERT_UNREACHABLE(); +} + +static inline bool __must_check vpci_process_pending(struct vcpu *v) +{ + ASSERT_UNREACHABLE(); + return false; +} #endif #endif -- 2.16.3 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |