From 776e4d93b5f8f19d74ca1fb42bb62ae4dd752c81 Mon Sep 17 00:00:00 2001 From: Jeremy Fitzhardinge Date: Wed, 30 Jan 2008 13:32:59 +0100 Subject: [PATCH] --- yaml --- r: 80228 b: refs/heads/master c: f29192320f22f1617d50a9c790862603eeef64e6 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/include/asm-x86/pgtable.h | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d179150c3205..683e0ca2888f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 015c8dd0cb3b380cb4c3930968250c719d1dd303 +refs/heads/master: f29192320f22f1617d50a9c790862603eeef64e6 diff --git a/trunk/include/asm-x86/pgtable.h b/trunk/include/asm-x86/pgtable.h index a1eeacdf9d8c..75a656e6b3f8 100644 --- a/trunk/include/asm-x86/pgtable.h +++ b/trunk/include/asm-x86/pgtable.h @@ -19,6 +19,11 @@ #define _PAGE_BIT_UNUSED3 11 #define _PAGE_BIT_NX 63 /* No execute: only valid after cpuid check */ +/* + * Note: we use _AC(1, L) instead of _AC(1, UL) so that we get a + * sign-extended value on 32-bit with all 1's in the upper word, + * which preserves the upper pte values on 64-bit ptes: + */ #define _PAGE_PRESENT (_AC(1, L)<<_PAGE_BIT_PRESENT) #define _PAGE_RW (_AC(1, L)<<_PAGE_BIT_RW) #define _PAGE_USER (_AC(1, L)<<_PAGE_BIT_USER)