OSDN Git Service

x86/apic: Soft disable APIC before initializing it
authorThomas Gleixner <tglx@linutronix.de>
Mon, 22 Jul 2019 18:47:08 +0000 (20:47 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 25 Jul 2019 14:11:56 +0000 (16:11 +0200)
commit2640da4cccf5cc613bf26f0998b9e340f4b5f69c
treefd9339f9760a29c0c0cc4beab2bb5ca702ea1c3a
parent39c89dff9c366ad98d2e5598db41ff9b1bdb9e88
x86/apic: Soft disable APIC before initializing it

If the APIC was already enabled on entry of setup_local_APIC() then
disabling it soft via the SPIV register makes a lot of sense.

That masks all LVT entries and brings it into a well defined state.

Otherwise previously enabled LVTs which are not touched in the setup
function stay unmasked and might surprise the just booting kernel.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20190722105219.068290579@linutronix.de
arch/x86/kernel/apic/apic.c