@@ -1955,13 +1955,6 @@ All numbers specified must be hexadecimal ones.
This option can be specified more than once (up to 8 times at present).
-### pci-passthrough (arm)
-> `= <boolean>`
-
-> Default: `false`
-
-Flag to enable or disable support for PCI passthrough
-
### pcid (x86)
> `= <boolean> | xpti=<bool>`
@@ -21,8 +21,6 @@
#define pci_to_dev(pcidev) (&(pcidev)->arch.dev)
-extern bool pci_passthrough_enabled;
-
/* Arch pci dev struct */
struct arch_pci_dev {
struct device dev;
@@ -111,11 +109,6 @@ pci_find_host_bridge_node(const struct pci_dev *pdev);
int pci_get_host_bridge_segment(const struct dt_device_node *node,
uint16_t *segment);
-static always_inline bool is_pci_passthrough_enabled(void)
-{
- return pci_passthrough_enabled;
-}
-
void arch_pci_init_pdev(struct pci_dev *pdev);
int pci_get_new_domain_nr(void);
@@ -132,11 +125,6 @@ bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end);
struct arch_pci_dev { };
-static always_inline bool is_pci_passthrough_enabled(void)
-{
- return false;
-}
-
struct pci_dev;
static inline void arch_pci_init_pdev(struct pci_dev *pdev) {}
@@ -16,7 +16,6 @@
#include <xen/device_tree.h>
#include <xen/errno.h>
#include <xen/init.h>
-#include <xen/param.h>
#include <xen/pci.h>
/*
@@ -75,19 +74,8 @@ static int __init acpi_pci_init(void)
}
#endif
-/* By default pci passthrough is disabled. */
-bool __read_mostly pci_passthrough_enabled;
-boolean_param("pci-passthrough", pci_passthrough_enabled);
-
static int __init pci_init(void)
{
- /*
- * Enable PCI passthrough when has been enabled explicitly
- * (pci-passthrough=on).
- */
- if ( !pci_passthrough_enabled )
- return 0;
-
pci_segments_init();
if ( acpi_disabled )
@@ -49,12 +49,6 @@ bool_t pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg,
extern int pci_mmcfg_config_num;
extern struct acpi_mcfg_allocation *pci_mmcfg_config;
-/* Unlike ARM, PCI passthrough is always enabled for x86. */
-static always_inline bool is_pci_passthrough_enabled(void)
-{
- return true;
-}
-
void arch_pci_init_pdev(struct pci_dev *pdev);
static inline bool pci_check_bar(const struct pci_dev *pdev,
@@ -18,9 +18,6 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
struct pci_dev_info pdev_info;
nodeid_t node = NUMA_NO_NODE;
- if ( !is_pci_passthrough_enabled() )
- return -EOPNOTSUPP;
-
ret = -EFAULT;
if ( copy_from_guest(&add, arg, 1) != 0 )
break;
@@ -56,9 +53,6 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
case PHYSDEVOP_pci_device_remove: {
struct physdev_pci_device dev;
- if ( !is_pci_passthrough_enabled() )
- return -EOPNOTSUPP;
-
ret = -EFAULT;
if ( copy_from_guest(&dev, arg, 1) != 0 )
break;
From: Rahul Singh <rahul.singh@arm.com> This enables us to use IOMMU + PCI in dom0 without having to specify "pci-passthrough=yes". This reverts commit 15517ed61f55be6039aedcc99720ee07c772ed44. --- v4->v5: * new patch --- docs/misc/xen-command-line.pandoc | 7 ------- xen/arch/arm/include/asm/pci.h | 12 ------------ xen/arch/arm/pci/pci.c | 12 ------------ xen/arch/x86/include/asm/pci.h | 6 ------ xen/drivers/pci/physdev.c | 6 ------ 5 files changed, 43 deletions(-)