aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/ldt.h
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-05-18 13:12:57 +0000
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-05-18 13:12:57 +0000
commit9aeab194c243007b888c2d3a3b9c6ac7bcf35f91 (patch)
tree812bfdfab3d8f273c7e43900ab1a91f49a98f962 /xen/include/asm-x86/ldt.h
parent0e3449b666f66159411bb7f668450ef47116e0a1 (diff)
downloadxen-9aeab194c243007b888c2d3a3b9c6ac7bcf35f91.tar.gz
xen-9aeab194c243007b888c2d3a3b9c6ac7bcf35f91.tar.bz2
xen-9aeab194c243007b888c2d3a3b9c6ac7bcf35f91.zip
bitkeeper revision 1.1443 (428b3f59xxbCVcbUBrHu1R1TkWcYhg)
Cleaner GDT interface. Xen now reserves the last 2 pages of a full-size (16 page) GDT. A guest can register a GDT with up to 7k entries. Xen automatically makes the GDT up to max size with empty page mappings, and turns page faults in that area to #GP(selector). Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/ldt.h')
-rw-r--r--xen/include/asm-x86/ldt.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/include/asm-x86/ldt.h b/xen/include/asm-x86/ldt.h
index 63fa8db5d8..33de175165 100644
--- a/xen/include/asm-x86/ldt.h
+++ b/xen/include/asm-x86/ldt.h
@@ -17,7 +17,7 @@ static inline void load_LDT(struct exec_domain *ed)
else
{
cpu = smp_processor_id();
- desc = (struct desc_struct *)GET_GDT_ADDRESS(ed) + __LDT(cpu);
+ desc = gdt_table + __LDT(cpu) - FIRST_RESERVED_GDT_ENTRY;
desc->a = ((LDT_VIRT_START(ed)&0xffff)<<16) | (ents*8-1);
desc->b = (LDT_VIRT_START(ed)&(0xff<<24)) | 0x8200 |
((LDT_VIRT_START(ed)&0xff0000)>>16);