aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Karcher <kernel@mkarcher.dialup.fu-berlin.de>2008-07-11 12:04:46 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-12 01:11:31 -0400
commit5ac37f87ff18843aabab84cf75b2f8504c2d81fe (patch)
treef6520105036bd90fb3b5b0ae70889622f62ca891
parenta361ee5cb8011763ece7b4add393e206439db8b3 (diff)
x86: fix ldt limit for 64 bit
Fix size of LDT entries. On x86-64, ldt_desc is a double-sized descriptor. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--include/asm-x86/desc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h
index 268a012bcd79..28bddbcb38be 100644
--- a/include/asm-x86/desc.h
+++ b/include/asm-x86/desc.h
@@ -192,8 +192,8 @@ static inline void native_set_ldt(const void *addr, unsigned int entries)
192 unsigned cpu = smp_processor_id(); 192 unsigned cpu = smp_processor_id();
193 ldt_desc ldt; 193 ldt_desc ldt;
194 194
195 set_tssldt_descriptor(&ldt, (unsigned long)addr, 195 set_tssldt_descriptor(&ldt, (unsigned long)addr, DESC_LDT,
196 DESC_LDT, entries * sizeof(ldt) - 1); 196 entries * LDT_ENTRY_SIZE - 1);
197 write_gdt_entry(get_cpu_gdt_table(cpu), GDT_ENTRY_LDT, 197 write_gdt_entry(get_cpu_gdt_table(cpu), GDT_ENTRY_LDT,
198 &ldt, DESC_LDT); 198 &ldt, DESC_LDT);
199 asm volatile("lldt %w0"::"q" (GDT_ENTRY_LDT*8)); 199 asm volatile("lldt %w0"::"q" (GDT_ENTRY_LDT*8));