SMM: don't overwrite SMM memory on resume
[coreboot.git] / src / include / cpu / x86 / lapic.h
index 9f2191940ae35a4987e3e47ae9f074d445f8ed88..8b44a6cb662ff752d45677e66fdf3d99de7a63a0 100644 (file)
@@ -60,15 +60,16 @@ static inline __attribute__((always_inline)) unsigned long lapicid(void)
  */
 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();
        }
 }
+#else
+void stop_this_cpu(void);
 #endif
 
-#if ! defined (__ROMCC__)
+#if !defined(__PRE_RAM__)
 
 #define xchg(ptr,v) ((__typeof__(*(ptr)))__xchg((unsigned long)(v),(ptr),sizeof(*(ptr))))
 
@@ -105,7 +106,6 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
        return x;
 }
 
-
 static inline void lapic_write_atomic(unsigned long reg, unsigned long v)
 {
        xchg((volatile unsigned long *)(LAPIC_DEFAULT_BASE+reg), v);
@@ -149,14 +149,11 @@ static inline int lapic_remote_read(int apicid, int reg, unsigned long *pvalue)
 
 void setup_lapic(void);
 
-
 #if CONFIG_SMP == 1
 struct device;
 int start_cpu(struct device *cpu);
-
 #endif /* CONFIG_SMP */
 
-
-#endif /* !__ROMCC__ */
+#endif /* !__PRE_RAM__ */
 
 #endif /* CPU_X86_LAPIC_H */