xen.c (4d6ca227c768b50b05cf183974b40abe444e9d0c) xen.c (84d582d236dc1f9085e741affc72e9ba061a67c2)
1/*
2 * Xen PCI - handle PCI (INTx) and MSI infrastructure calls for PV, HVM and
3 * initial domain support. We also handle the DSDT _PRT callbacks for GSI's
4 * used in HVM and initial domain mode (PV does not parse ACPI, so it has no
5 * concept of GSIs). Under PV we hook under the pnbbios API for IRQs and
6 * 0xcf8 PCI configuration read/write.
7 *
8 * Author: Ryan Wilson <hap9@epoch.ncsc.mil>

--- 433 unchanged lines hidden (view full) ---

442
443 x86_msi.setup_msi_irqs = xen_hvm_setup_msi_irqs;
444 x86_msi.teardown_msi_irq = xen_teardown_msi_irq;
445}
446#endif
447
448int __init pci_xen_hvm_init(void)
449{
1/*
2 * Xen PCI - handle PCI (INTx) and MSI infrastructure calls for PV, HVM and
3 * initial domain support. We also handle the DSDT _PRT callbacks for GSI's
4 * used in HVM and initial domain mode (PV does not parse ACPI, so it has no
5 * concept of GSIs). Under PV we hook under the pnbbios API for IRQs and
6 * 0xcf8 PCI configuration read/write.
7 *
8 * Author: Ryan Wilson <hap9@epoch.ncsc.mil>

--- 433 unchanged lines hidden (view full) ---

442
443 x86_msi.setup_msi_irqs = xen_hvm_setup_msi_irqs;
444 x86_msi.teardown_msi_irq = xen_teardown_msi_irq;
445}
446#endif
447
448int __init pci_xen_hvm_init(void)
449{
450 if (!xen_feature(XENFEAT_hvm_pirqs))
450 if (!xen_have_vector_callback || !xen_feature(XENFEAT_hvm_pirqs))
451 return 0;
452
453#ifdef CONFIG_ACPI
454 /*
455 * We don't want to change the actual ACPI delivery model,
456 * just how GSIs get registered.
457 */
458 __acpi_register_gsi = acpi_register_gsi_xen_hvm;

--- 120 unchanged lines hidden ---
451 return 0;
452
453#ifdef CONFIG_ACPI
454 /*
455 * We don't want to change the actual ACPI delivery model,
456 * just how GSIs get registered.
457 */
458 __acpi_register_gsi = acpi_register_gsi_xen_hvm;

--- 120 unchanged lines hidden ---