aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-10 17:35:55 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-09-10 17:35:55 -0400
commit83dc3d43ce06d3466f48046577331d06a40b8344 (patch)
tree0c2583b7424c6474b78c2408f73369e953920795 /arch
parentd8612417b2f78767b96ca434b50d23e5cdfcde07 (diff)
parentce29a1f8bd99aac409904b4ca4fd700e67802556 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup: [x86 setup] Work around bug in Xen HVM
Diffstat (limited to 'arch')
-rw-r--r--arch/i386/boot/pm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/i386/boot/pm.c b/arch/i386/boot/pm.c
index 6be9ca811d17..09fb342cc62e 100644
--- a/arch/i386/boot/pm.c
+++ b/arch/i386/boot/pm.c
@@ -122,7 +122,11 @@ static void setup_gdt(void)
122 /* DS: data, read/write, 4 GB, base 0 */ 122 /* DS: data, read/write, 4 GB, base 0 */
123 [GDT_ENTRY_BOOT_DS] = GDT_ENTRY(0xc093, 0, 0xfffff), 123 [GDT_ENTRY_BOOT_DS] = GDT_ENTRY(0xc093, 0, 0xfffff),
124 }; 124 };
125 struct gdt_ptr gdt; 125 /* Xen HVM incorrectly stores a pointer to the gdt_ptr, instead
126 of the gdt_ptr contents. Thus, make it static so it will
127 stay in memory, at least long enough that we switch to the
128 proper kernel GDT. */
129 static struct gdt_ptr gdt;
126 130
127 gdt.len = sizeof(boot_gdt)-1; 131 gdt.len = sizeof(boot_gdt)-1;
128 gdt.ptr = (u32)&boot_gdt + (ds() << 4); 132 gdt.ptr = (u32)&boot_gdt + (ds() << 4);