From 317e678d6d0bff1be16383a6ef9d914f28aebb74 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 31 Aug 2011 01:49:30 +0200 Subject: Protect set_cr3 against compiler assignment optimizations This fixes the kdb `break' command. i386/i386/proc_reg.h (set_cr3): Add "memory" clobber. --- i386/i386/proc_reg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i386/i386/proc_reg.h b/i386/i386/proc_reg.h index 64d8c43f..84e99310 100644 --- a/i386/i386/proc_reg.h +++ b/i386/i386/proc_reg.h @@ -144,7 +144,7 @@ extern unsigned long cr3; #define set_cr3(value) \ ({ \ register unsigned int _temp__ = (value); \ - asm volatile("mov %0, %%cr3" : : "r" (_temp__)); \ + asm volatile("mov %0, %%cr3" : : "r" (_temp__) : "memory"); \ }) #endif /* MACH_HYP */ -- cgit v1.2.3