mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 15:58:47 +00:00
x86/apic: Rename variables and functions related to x86_io_apic_ops
The names of x86_io_apic_ops and its two member variables are misleading: The ->read() member is to read IO_APIC reg, while ->disable() which is called by native_disable_io_apic()/irq_remapping_disable_io_apic() is actually used to restore boot IRQ mode, not to disable the IO-APIC. So rename x86_io_apic_ops to 'x86_apic_ops' since it doesn't only handle the IO-APIC, but also the local APIC. Also rename its member variables and the related callbacks. Signed-off-by: Baoquan He <bhe@redhat.com> Reviewed-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: douly.fnst@cn.fujitsu.com Cc: joro@8bytes.org Cc: prarit@redhat.com Cc: uobergfe@redhat.com Link: http://lkml.kernel.org/r/20180214054656.3780-6-bhe@redhat.com [ Rewrote the changelog. ] Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
50374b96d2
commit
51b146c572
@ -183,11 +183,11 @@ extern void disable_ioapic_support(void);
|
|||||||
|
|
||||||
extern void __init io_apic_init_mappings(void);
|
extern void __init io_apic_init_mappings(void);
|
||||||
extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg);
|
extern unsigned int native_io_apic_read(unsigned int apic, unsigned int reg);
|
||||||
extern void native_disable_io_apic(void);
|
extern void native_restore_boot_irq_mode(void);
|
||||||
|
|
||||||
static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
|
static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
|
||||||
{
|
{
|
||||||
return x86_io_apic_ops.read(apic, reg);
|
return x86_apic_ops.io_apic_read(apic, reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void setup_IO_APIC(void);
|
extern void setup_IO_APIC(void);
|
||||||
@ -229,7 +229,7 @@ static inline void mp_save_irq(struct mpc_intsrc *m) { }
|
|||||||
static inline void disable_ioapic_support(void) { }
|
static inline void disable_ioapic_support(void) { }
|
||||||
static inline void io_apic_init_mappings(void) { }
|
static inline void io_apic_init_mappings(void) { }
|
||||||
#define native_io_apic_read NULL
|
#define native_io_apic_read NULL
|
||||||
#define native_disable_io_apic NULL
|
#define native_restore_boot_irq_mode NULL
|
||||||
|
|
||||||
static inline void setup_IO_APIC(void) { }
|
static inline void setup_IO_APIC(void) { }
|
||||||
static inline void enable_IO_APIC(void) { }
|
static inline void enable_IO_APIC(void) { }
|
||||||
|
@ -274,16 +274,16 @@ struct x86_msi_ops {
|
|||||||
void (*restore_msi_irqs)(struct pci_dev *dev);
|
void (*restore_msi_irqs)(struct pci_dev *dev);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct x86_io_apic_ops {
|
struct x86_apic_ops {
|
||||||
unsigned int (*read) (unsigned int apic, unsigned int reg);
|
unsigned int (*io_apic_read) (unsigned int apic, unsigned int reg);
|
||||||
void (*disable)(void);
|
void (*restore)(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct x86_init_ops x86_init;
|
extern struct x86_init_ops x86_init;
|
||||||
extern struct x86_cpuinit_ops x86_cpuinit;
|
extern struct x86_cpuinit_ops x86_cpuinit;
|
||||||
extern struct x86_platform_ops x86_platform;
|
extern struct x86_platform_ops x86_platform;
|
||||||
extern struct x86_msi_ops x86_msi;
|
extern struct x86_msi_ops x86_msi;
|
||||||
extern struct x86_io_apic_ops x86_io_apic_ops;
|
extern struct x86_apic_ops x86_apic_ops;
|
||||||
|
|
||||||
extern void x86_early_init_platform_quirks(void);
|
extern void x86_early_init_platform_quirks(void);
|
||||||
extern void x86_init_noop(void);
|
extern void x86_init_noop(void);
|
||||||
|
@ -1410,7 +1410,7 @@ void __init enable_IO_APIC(void)
|
|||||||
clear_IO_APIC();
|
clear_IO_APIC();
|
||||||
}
|
}
|
||||||
|
|
||||||
void native_disable_io_apic(void)
|
void native_restore_boot_irq_mode(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* If the i8259 is routed through an IOAPIC
|
* If the i8259 is routed through an IOAPIC
|
||||||
@ -1443,7 +1443,7 @@ void restore_boot_irq_mode(void)
|
|||||||
if (!nr_legacy_irqs())
|
if (!nr_legacy_irqs())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
x86_io_apic_ops.disable();
|
x86_apic_ops.restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_X86_32
|
#ifdef CONFIG_X86_32
|
||||||
|
@ -146,7 +146,7 @@ void arch_restore_msi_irqs(struct pci_dev *dev)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct x86_io_apic_ops x86_io_apic_ops __ro_after_init = {
|
struct x86_apic_ops x86_apic_ops __ro_after_init = {
|
||||||
.read = native_io_apic_read,
|
.io_apic_read = native_io_apic_read,
|
||||||
.disable = native_disable_io_apic,
|
.restore = native_restore_boot_irq_mode,
|
||||||
};
|
};
|
||||||
|
@ -215,7 +215,7 @@ static void __init xen_apic_check(void)
|
|||||||
}
|
}
|
||||||
void __init xen_init_apic(void)
|
void __init xen_init_apic(void)
|
||||||
{
|
{
|
||||||
x86_io_apic_ops.read = xen_io_apic_read;
|
x86_apic_ops.io_apic_read = xen_io_apic_read;
|
||||||
/* On PV guests the APIC CPUID bit is disabled so none of the
|
/* On PV guests the APIC CPUID bit is disabled so none of the
|
||||||
* routines end up executing. */
|
* routines end up executing. */
|
||||||
if (!xen_initial_domain())
|
if (!xen_initial_domain())
|
||||||
|
@ -27,7 +27,7 @@ int disable_irq_post = 0;
|
|||||||
static int disable_irq_remap;
|
static int disable_irq_remap;
|
||||||
static struct irq_remap_ops *remap_ops;
|
static struct irq_remap_ops *remap_ops;
|
||||||
|
|
||||||
static void irq_remapping_disable_io_apic(void)
|
static void irq_remapping_restore_boot_irq_mode(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* With interrupt-remapping, for now we will use virtual wire A
|
* With interrupt-remapping, for now we will use virtual wire A
|
||||||
@ -42,7 +42,7 @@ static void irq_remapping_disable_io_apic(void)
|
|||||||
|
|
||||||
static void __init irq_remapping_modify_x86_ops(void)
|
static void __init irq_remapping_modify_x86_ops(void)
|
||||||
{
|
{
|
||||||
x86_io_apic_ops.disable = irq_remapping_disable_io_apic;
|
x86_apic_ops.restore = irq_remapping_restore_boot_irq_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
static __init int setup_nointremap(char *str)
|
static __init int setup_nointremap(char *str)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user