aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/io_apic.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2011-09-18 00:26:52 +0100
committerJan Beulich <jbeulich@suse.com>2011-09-18 00:26:52 +0100
commit1b0061ac2b57297e7d7211ce6f4e1b197b8e0ec2 (patch)
tree4bb3b14eb7af3223ce36a09fbf9de90776aa3919 /xen/arch/x86/io_apic.c
parentac4afd4aaac5f8e6e706f97bbfb0bd925577ed15 (diff)
downloadxen-1b0061ac2b57297e7d7211ce6f4e1b197b8e0ec2.tar.gz
xen-1b0061ac2b57297e7d7211ce6f4e1b197b8e0ec2.tar.bz2
xen-1b0061ac2b57297e7d7211ce6f4e1b197b8e0ec2.zip
x86: split MSI IRQ chip
With the .end() accessor having become optional and noting that several of the accessors' behavior really depends on the result of msi_maskable_irq(), the splits the MSI IRQ chip type into two - one for the maskable ones, and the other for the (MSI only) non-maskable ones. At once the implementation of those methods gets moved from io_apic.c to msi.c. Signed-off-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/arch/x86/io_apic.c')
-rw-r--r--xen/arch/x86/io_apic.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index b337024653..a7081570ca 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -1882,44 +1882,6 @@ static hw_irq_controller ioapic_level_type = {
.set_affinity = set_ioapic_affinity_irq,
};
-static unsigned int startup_msi_irq(struct irq_desc *desc)
-{
- unmask_msi_irq(desc);
- return 0;
-}
-
-static void ack_msi_irq(struct irq_desc *desc)
-{
- irq_complete_move(desc);
- move_native_irq(desc);
-
- if ( msi_maskable_irq(desc->msi_desc) )
- ack_APIC_irq(); /* ACKTYPE_NONE */
-}
-
-static void end_msi_irq(struct irq_desc *desc, u8 vector)
-{
- if ( !msi_maskable_irq(desc->msi_desc) )
- ack_APIC_irq(); /* ACKTYPE_EOI */
-}
-
-#define shutdown_msi_irq mask_msi_irq
-
-/*
- * IRQ Chip for MSI PCI/PCI-X/PCI-Express Devices,
- * which implement the MSI or MSI-X Capability Structure.
- */
-hw_irq_controller pci_msi_type = {
- .typename = "PCI-MSI",
- .startup = startup_msi_irq,
- .shutdown = shutdown_msi_irq,
- .enable = unmask_msi_irq,
- .disable = mask_msi_irq,
- .ack = ack_msi_irq,
- .end = end_msi_irq,
- .set_affinity = set_msi_affinity,
-};
-
static inline void init_IO_APIC_traps(void)
{
int irq;