diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-06-23 09:35:57 +0000 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-06-23 09:35:57 +0000 |
commit | f5484a99a56dcca96b4a471fad68d0f7cb19ff0e (patch) | |
tree | 7858b3be570915e9405d4741fc99b704fbe80c1c /xen/include/asm-x86/ldt.h | |
parent | d67f8a3d018196db2d8182a63b64b5ad97396e6b (diff) | |
download | xen-f5484a99a56dcca96b4a471fad68d0f7cb19ff0e.tar.gz xen-f5484a99a56dcca96b4a471fad68d0f7cb19ff0e.tar.bz2 xen-f5484a99a56dcca96b4a471fad68d0f7cb19ff0e.zip |
bitkeeper revision 1.1733 (42ba827d4k5gz1Dasgd0gorMu-SSmQ)
The 32-bit x86 LTP exposed bugs with LDT handling with x86_64 Xen and
XenLinux:
- fill the code for arbitrary_virt_to_machine(XenLinux)
- set 64-bit value for the base address for LDT (Xen)
- fix a bug (64-bit cleanup) in map_ldt_shadow_page (Xen)
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Diffstat (limited to 'xen/include/asm-x86/ldt.h')
-rw-r--r-- | xen/include/asm-x86/ldt.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/xen/include/asm-x86/ldt.h b/xen/include/asm-x86/ldt.h index 8288ffa118..107e67720b 100644 --- a/xen/include/asm-x86/ldt.h +++ b/xen/include/asm-x86/ldt.h @@ -18,9 +18,7 @@ static inline void load_LDT(struct vcpu *v) { cpu = smp_processor_id(); desc = gdt_table + __LDT(cpu) - FIRST_RESERVED_GDT_ENTRY; - desc->a = ((LDT_VIRT_START(v)&0xffff)<<16) | (ents*8-1); - desc->b = (LDT_VIRT_START(v)&(0xff<<24)) | 0x8200 | - ((LDT_VIRT_START(v)&0xff0000)>>16); + _set_tssldt_desc(desc, LDT_VIRT_START(v), ents*8-1, 2); __asm__ __volatile__ ( "lldt %%ax" : : "a" (__LDT(cpu)<<3) ); } } |