diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-01-30 07:33:04 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:04 -0500 |
commit | 387faedb1dee2e917811acd05902cc36142a4850 (patch) | |
tree | 5bd3dd8b2a734531b378de7df12e0bcf16e414d0 /arch/x86/boot | |
parent | acd644bb4abb4d9f0ba6b9ec2b356263971ef9d0 (diff) |
x86 setup: correct the base in the GDT_ENTRY() macro
The GDT_ENTRY() macro in pm.c would incorrectly cut the bottom 8 bits
off the base. We didn't define any bases with the bottom 8 bits
nonzero, so it is a non-manifest bug, but it's still a bug.
Pointed out by John Smith <johnsmith9344@gmail.com>.
Cc: John Smith <johnsmith9344@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/boot')
-rw-r--r-- | arch/x86/boot/pm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/boot/pm.c b/arch/x86/boot/pm.c index b23cbdc7d547..1a0f936c160b 100644 --- a/arch/x86/boot/pm.c +++ b/arch/x86/boot/pm.c | |||
@@ -104,7 +104,7 @@ static void reset_coprocessor(void) | |||
104 | (((u64)(base & 0xff000000) << 32) | \ | 104 | (((u64)(base & 0xff000000) << 32) | \ |
105 | ((u64)flags << 40) | \ | 105 | ((u64)flags << 40) | \ |
106 | ((u64)(limit & 0x00ff0000) << 32) | \ | 106 | ((u64)(limit & 0x00ff0000) << 32) | \ |
107 | ((u64)(base & 0x00ffff00) << 16) | \ | 107 | ((u64)(base & 0x00ffffff) << 16) | \ |
108 | ((u64)(limit & 0x0000ffff))) | 108 | ((u64)(limit & 0x0000ffff))) |
109 | 109 | ||
110 | struct gdt_ptr { | 110 | struct gdt_ptr { |