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 --- |