Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac60aae5 authored by Glauber de Oliveira Costa's avatar Glauber de Oliveira Costa Committed by Ingo Molnar
Browse files

x86: provide an end_local_APIC_setup function



It splits setup_local_APIC in two, providing a function corresponding
to the ending part of it. As a side effect, smp_callin looks the same
between i386 and x86_64.

Signed-off-by: default avatarGlauber Costa <gcosta@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent df7939ae
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1064,9 +1064,13 @@ void __cpuinit setup_local_APIC(void)
	if (!integrated)		/* 82489DX */
		value |= APIC_LVT_LEVEL_TRIGGER;
	apic_write_around(APIC_LVT1, value);
}

	lapic_setup_esr();
void __cpuinit end_local_APIC_setup(void)
{
	unsigned long value;

	lapic_setup_esr();
	/* Disable the local apic timer */
	value = apic_read(APIC_LVTT);
	value |= (APIC_LVT_MASKED | LOCAL_TIMER_VECTOR);
@@ -1256,6 +1260,7 @@ int __init APIC_init_uniprocessor(void)

	setup_local_APIC();

	end_local_APIC_setup();
#ifdef CONFIG_X86_IO_APIC
	if (smp_found_config)
		if (!skip_ioapic_setup && nr_ioapics)
+3 −0
Original line number Diff line number Diff line
@@ -161,6 +161,7 @@ static void __cpuinit smp_callin(void)
	Dprintk("CALLIN, before setup_local_APIC().\n");
	smp_callin_clear_local_apic();
	setup_local_APIC();
	end_local_APIC_setup();
	map_cpu_to_logical_apicid();

	/*
@@ -780,6 +781,7 @@ static int __init smp_sanity_check(unsigned max_cpus)
			printk(KERN_INFO "activating minimal APIC for NMI watchdog use.\n");
			connect_bsp_APIC();
			setup_local_APIC();
			end_local_APIC_setup();
		}
		return -1;
	}
@@ -813,6 +815,7 @@ static void __init smp_boot_cpus(unsigned int max_cpus)

	connect_bsp_APIC();
	setup_local_APIC();
	end_local_APIC_setup();
	map_cpu_to_logical_apicid();