From 242f1d962f24193499795106466923e1f78a4485 Mon Sep 17 00:00:00 2001 From: Kyösti Mälkki Date: Sun, 6 Jun 2021 16:58:19 +0300 Subject: cpu/x86/lapic: Do not inline some utility functions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit They are not __always_inline and specially enable_lapic() will become more complex to support X2APIC state changes. Change-Id: Ic180fa8b36e419aba07e1754d4bf48c9dfddb2f3 Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/55258 Reviewed-by: Angel Pons Reviewed-by: Arthur Heymans Reviewed-by: Wonkyu Kim Tested-by: build bot (Jenkins) --- src/include/cpu/x86/lapic.h | 37 +++---------------------------------- 1 file changed, 3 insertions(+), 34 deletions(-) (limited to 'src/include/cpu') diff --git a/src/include/cpu/x86/lapic.h b/src/include/cpu/x86/lapic.h index cf048a883e..a3d0fcbf89 100644 --- a/src/include/cpu/x86/lapic.h +++ b/src/include/cpu/x86/lapic.h @@ -116,25 +116,6 @@ static __always_inline void lapic_wait_icr_idle(void) do { } while (lapic_read(LAPIC_ICR) & LAPIC_ICR_BUSY); } -static inline void enable_lapic(void) -{ - msr_t msr; - msr = rdmsr(LAPIC_BASE_MSR); - msr.hi &= 0xffffff00; - msr.lo &= ~LAPIC_BASE_MSR_ADDR_MASK; - msr.lo |= LAPIC_DEFAULT_BASE; - msr.lo |= LAPIC_BASE_MSR_ENABLE; - wrmsr(LAPIC_BASE_MSR, msr); -} - -static inline void disable_lapic(void) -{ - msr_t msr; - msr = rdmsr(LAPIC_BASE_MSR); - msr.lo &= ~LAPIC_BASE_MSR_ENABLE; - wrmsr(LAPIC_BASE_MSR, msr); -} - static __always_inline unsigned int initial_lapicid(void) { uint32_t lapicid; @@ -168,20 +149,8 @@ static __always_inline void stop_this_cpu(void) void stop_this_cpu(void); #endif -void lapic_virtual_wire_mode_init(void); - -/* See if I need to initialize the local APIC */ -static inline int need_lapic_init(void) -{ - return CONFIG(SMP) || CONFIG(IOAPIC); -} - -static inline void setup_lapic(void) -{ - if (need_lapic_init()) - lapic_virtual_wire_mode_init(); - else - disable_lapic(); -} +void enable_lapic(void); +void disable_lapic(void); +void setup_lapic(void); #endif /* CPU_X86_LAPIC_H */ -- cgit v1.2.3