Commit fef86db8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'x86-fixes-for-linus' of...

Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86, dmi, debug: Log board name (when present) in dmesg/oops output
  x86, ioapic: Don't warn about non-existing IOAPICs if we have none
  x86: Fix mwait_usable section mismatch
  x86: Readd missing irq_to_desc() in fixup_irq()
  x86: Fix section mismatch in LAPIC initialization
parents 87450bd5 84e383b3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -233,6 +233,7 @@ extern void sync_Arb_IDs(void);
extern void init_bsp_APIC(void);
extern void setup_local_APIC(void);
extern void end_local_APIC_setup(void);
extern void bsp_end_local_APIC_setup(void);
extern void init_apic_mappings(void);
void register_lapic_address(unsigned long address);
extern void setup_boot_APIC_clock(void);
+1 −1
Original line number Diff line number Diff line
@@ -32,6 +32,6 @@ extern void arch_unregister_cpu(int);

DECLARE_PER_CPU(int, cpu_state);

int __cpuinit mwait_usable(const struct cpuinfo_x86 *);
int mwait_usable(const struct cpuinfo_x86 *);

#endif /* _ASM_X86_CPU_H */
+7 −2
Original line number Diff line number Diff line
@@ -1381,12 +1381,17 @@ void __cpuinit end_local_APIC_setup(void)
#endif

	apic_pm_activate();
}

void __init bsp_end_local_APIC_setup(void)
{
	end_local_APIC_setup();

	/*
	 * Now that local APIC setup is completed for BP, configure the fault
	 * handling for interrupt remapping.
	 */
	if (!smp_processor_id() && intr_remapping_enabled)
	if (intr_remapping_enabled)
		enable_drhd_fault_handling();

}
@@ -1756,7 +1761,7 @@ int __init APIC_init_uniprocessor(void)
		enable_IO_APIC();
#endif

	end_local_APIC_setup();
	bsp_end_local_APIC_setup();

#ifdef CONFIG_X86_IO_APIC
	if (smp_found_config && !skip_ioapic_setup && nr_ioapics)
+3 −0
Original line number Diff line number Diff line
@@ -4002,6 +4002,9 @@ int mp_find_ioapic(u32 gsi)
{
	int i = 0;

	if (nr_ioapics == 0)
		return -1;

	/* Find the IOAPIC that manages this GSI. */
	for (i = 0; i < nr_ioapics; i++) {
		if ((gsi >= mp_gsi_routing[i].gsi_base)
+2 −1
Original line number Diff line number Diff line
@@ -367,7 +367,8 @@ void fixup_irqs(void)
		if (irr  & (1 << (vector % 32))) {
			irq = __this_cpu_read(vector_irq[vector]);

			data = irq_get_irq_data(irq);
			desc = irq_to_desc(irq);
			data = &desc->irq_data;
			raw_spin_lock(&desc->lock);
			if (data->chip->irq_retrigger)
				data->chip->irq_retrigger(data);
Loading