summaryrefslogtreecommitdiff
path: root/src/include/cpu/x86/lapic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/cpu/x86/lapic.h')
-rw-r--r--src/include/cpu/x86/lapic.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/include/cpu/x86/lapic.h b/src/include/cpu/x86/lapic.h
index 5c48025c8f..078f2a7c62 100644
--- a/src/include/cpu/x86/lapic.h
+++ b/src/include/cpu/x86/lapic.h
@@ -52,13 +52,20 @@ static inline __attribute__((always_inline)) unsigned long lapicid(void)
}
#ifndef __ROMCC__
+#if CONFIG_AP_IN_SIPI_WAIT != 1
+/* If we need to go back to sipi wait, we use the long non-inlined version of
+ * this function in lapic_cpu_init.c
+ */
static inline __attribute__((always_inline)) void stop_this_cpu(void)
{
- /* Called by an AP when it is ready to halt and wait for a new task */
- for(;;) {
- hlt();
- }
+ /* Called by an AP when it is ready to halt and wait for a new task */
+ for(;;) {
+ hlt();
+ }
}
+#else
+void stop_this_cpu(void);
+#endif
#if !defined(__PRE_RAM__)