From c63d476da2e61810ccf30188c762a6ef76a3ae84 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sun, 3 Feb 2019 02:47:55 +0100 Subject: [PATCH] Kernel: Let's have cli() and sti() clobber memory. I don't like the idea of the compiler reordering anything around either cli() or sti(), so let's make sure it doesn't. --- Kernel/i386.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/i386.h b/Kernel/i386.h index a904f1e271..ad25551f41 100644 --- a/Kernel/i386.h +++ b/Kernel/i386.h @@ -79,8 +79,8 @@ void write_gdt_entry(word selector, Descriptor&); #define LSB(x) ((x) & 0xFF) #define MSB(x) (((x)>>8) & 0xFF) -#define cli() asm volatile("cli") -#define sti() asm volatile("sti") +#define cli() asm volatile("cli" ::: "memory") +#define sti() asm volatile("sti" ::: "memory") #define memory_barrier() asm volatile ("" ::: "memory") inline dword cpu_cr3()