forked from microsoft/WSL2-Linux-Kernel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'stable/xen-pcifront-0.8.2' of git://git.kernel.org/pub/…
…scm/linux/kernel/git/konrad/xen and branch 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm * 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm: xen: register xen pci notifier xen: initialize cpu masks for pv guests in xen_smp_init xen: add a missing #include to arch/x86/pci/xen.c xen: mask the MTRR feature from the cpuid xen: make hvc_xen console work for dom0. xen: add the direct mapping area for ISA bus access xen: Initialize xenbus for dom0. xen: use vcpu_ops to setup cpu masks xen: map a dummy page for local apic and ioapic in xen_set_fixmap xen: remap MSIs into pirqs when running as initial domain xen: remap GSIs as pirqs when running as initial domain xen: introduce XEN_DOM0 as a silent option xen: map MSIs into pirqs xen: support GSI -> pirq remapping in PV on HVM guests xen: add xen hvm acpi_register_gsi variant acpi: use indirect call to register gsi in different modes xen: implement xen_hvm_register_pirq xen: get the maximum number of pirqs from xen xen: support pirq != irq * 'stable/xen-pcifront-0.8.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (27 commits) X86/PCI: Remove the dependency on isapnp_disable. xen: Update Makefile with CONFIG_BLOCK dependency for biomerge.c MAINTAINERS: Add myself to the Xen Hypervisor Interface and remove Chris Wright. x86: xen: Sanitse irq handling (part two) swiotlb-xen: On x86-32 builts, select SWIOTLB instead of depending on it. MAINTAINERS: Add myself for Xen PCI and Xen SWIOTLB maintainer. xen/pci: Request ACS when Xen-SWIOTLB is activated. xen-pcifront: Xen PCI frontend driver. xenbus: prevent warnings on unhandled enumeration values xenbus: Xen paravirtualised PCI hotplug support. xen/x86/PCI: Add support for the Xen PCI subsystem x86: Introduce x86_msi_ops msi: Introduce default_[teardown|setup]_msi_irqs with fallback. x86/PCI: Export pci_walk_bus function. x86/PCI: make sure _PAGE_IOMAP it set on pci mappings x86/PCI: Clean up pci_cache_line_size xen: fix shared irq device passthrough xen: Provide a variant of xen_poll_irq with timeout. xen: Find an unbound irq number in reverse order (high to low). xen: statically initialize cpu_evtchn_mask_p ... Fix up trivial conflicts in drivers/pci/Makefile
- Loading branch information
Showing
44 changed files
with
2,845 additions
and
95 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
#ifndef _ASM_X86_XEN_PCI_H | ||
#define _ASM_X86_XEN_PCI_H | ||
|
||
#if defined(CONFIG_PCI_XEN) | ||
extern int __init pci_xen_init(void); | ||
extern int __init pci_xen_hvm_init(void); | ||
#define pci_xen 1 | ||
#else | ||
#define pci_xen 0 | ||
#define pci_xen_init (0) | ||
static inline int pci_xen_hvm_init(void) | ||
{ | ||
return -1; | ||
} | ||
#endif | ||
#if defined(CONFIG_XEN_DOM0) | ||
void __init xen_setup_pirqs(void); | ||
#else | ||
static inline void __init xen_setup_pirqs(void) | ||
{ | ||
} | ||
#endif | ||
|
||
#if defined(CONFIG_PCI_MSI) | ||
#if defined(CONFIG_PCI_XEN) | ||
/* The drivers/pci/xen-pcifront.c sets this structure to | ||
* its own functions. | ||
*/ | ||
struct xen_pci_frontend_ops { | ||
int (*enable_msi)(struct pci_dev *dev, int **vectors); | ||
void (*disable_msi)(struct pci_dev *dev); | ||
int (*enable_msix)(struct pci_dev *dev, int **vectors, int nvec); | ||
void (*disable_msix)(struct pci_dev *dev); | ||
}; | ||
|
||
extern struct xen_pci_frontend_ops *xen_pci_frontend; | ||
|
||
static inline int xen_pci_frontend_enable_msi(struct pci_dev *dev, | ||
int **vectors) | ||
{ | ||
if (xen_pci_frontend && xen_pci_frontend->enable_msi) | ||
return xen_pci_frontend->enable_msi(dev, vectors); | ||
return -ENODEV; | ||
} | ||
static inline void xen_pci_frontend_disable_msi(struct pci_dev *dev) | ||
{ | ||
if (xen_pci_frontend && xen_pci_frontend->disable_msi) | ||
xen_pci_frontend->disable_msi(dev); | ||
} | ||
static inline int xen_pci_frontend_enable_msix(struct pci_dev *dev, | ||
int **vectors, int nvec) | ||
{ | ||
if (xen_pci_frontend && xen_pci_frontend->enable_msix) | ||
return xen_pci_frontend->enable_msix(dev, vectors, nvec); | ||
return -ENODEV; | ||
} | ||
static inline void xen_pci_frontend_disable_msix(struct pci_dev *dev) | ||
{ | ||
if (xen_pci_frontend && xen_pci_frontend->disable_msix) | ||
xen_pci_frontend->disable_msix(dev); | ||
} | ||
#endif /* CONFIG_PCI_XEN */ | ||
#endif /* CONFIG_PCI_MSI */ | ||
|
||
#endif /* _ASM_X86_XEN_PCI_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.