Преглед изворни кода

x86: Add processor functions to halt and get stack pointer

Add a function to get the stack pointer and another to halt the CPU.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Simon Glass пре 10 година
родитељ
комит
21b9b14b49
1 измењених фајлова са 19 додато и 0 уклоњено
  1. 19 0
      arch/x86/include/asm/processor.h

+ 19 - 0
arch/x86/include/asm/processor.h

@@ -30,4 +30,23 @@ enum {
 
 #define X86_GDT_SIZE		(X86_GDT_NUM_ENTRIES * X86_GDT_ENTRY_SIZE)
 
+#ifndef __ASSEMBLY__
+
+static inline __attribute__((always_inline)) void cpu_hlt(void)
+{
+	asm("hlt");
+}
+
+static inline ulong cpu_get_sp(void)
+{
+	ulong result;
+
+	asm volatile(
+		"mov %%esp, %%eax"
+		: "=a" (result));
+	return result;
+}
+
+#endif /* __ASSEMBLY__ */
+
 #endif