Index: kernel/arch/amd64/include/asm.h
===================================================================
--- kernel/arch/amd64/include/asm.h	(revision ec5b3204bea6a5e739faf0a16fd8196042843095)
+++ kernel/arch/amd64/include/asm.h	(revision 6aea2e00a9dff770535c546c162457a46e9fe11b)
@@ -56,6 +56,13 @@
 }
 
-static inline void cpu_sleep(void) { __asm__ volatile ("hlt\n"); };
-static inline void cpu_halt(void) { __asm__ volatile ("hlt\n"); };
+static inline void cpu_sleep(void)
+{
+	asm volatile ("hlt\n");
+};
+
+static inline void cpu_halt(void)
+{
+	asm volatile ("hlt\n");
+};
 
 
Index: kernel/arch/amd64/src/pm.c
===================================================================
--- kernel/arch/amd64/src/pm.c	(revision ec5b3204bea6a5e739faf0a16fd8196042843095)
+++ kernel/arch/amd64/src/pm.c	(revision 6aea2e00a9dff770535c546c162457a46e9fe11b)
@@ -243,4 +243,5 @@
 	asm volatile (
 		"int $0x03\n"
+		"cli\n"
 		"hlt\n"
 	);
Index: kernel/arch/ia32/include/asm.h
===================================================================
--- kernel/arch/ia32/include/asm.h	(revision ec5b3204bea6a5e739faf0a16fd8196042843095)
+++ kernel/arch/ia32/include/asm.h	(revision 6aea2e00a9dff770535c546c162457a46e9fe11b)
@@ -60,10 +60,10 @@
 static inline void cpu_halt(void)
 {
-	asm("hlt\n");
+	asm volatile ("hlt\n");
 };
 
 static inline void cpu_sleep(void)
 {
-	asm("hlt\n");
+	asm volatile ("hlt\n");
 };
 
Index: kernel/arch/ia32/src/pm.c
===================================================================
--- kernel/arch/ia32/src/pm.c	(revision ec5b3204bea6a5e739faf0a16fd8196042843095)
+++ kernel/arch/ia32/src/pm.c	(revision 6aea2e00a9dff770535c546c162457a46e9fe11b)
@@ -249,4 +249,5 @@
 	asm volatile (
 		"int $0x03\n"
+		"cli\n"
 		"hlt\n"
 	);
