debuggers.hg
changeset 19616:9fdcd3ab84b7
x86 hvm: During task switch, LDT must be loaded before all other
segments, as some may be loaded from the LDT.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
segments, as some may be loaded from the LDT.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
author | Keir Fraser <keir.fraser@citrix.com> |
---|---|
date | Mon Apr 27 15:40:09 2009 +0100 (2009-04-27) |
parents | 7809e0941b38 |
children | d89f655e5698 |
files | xen/arch/x86/hvm/hvm.c |
line diff
1.1 --- a/xen/arch/x86/hvm/hvm.c Sat Apr 25 08:19:14 2009 +0100 1.2 +++ b/xen/arch/x86/hvm/hvm.c Mon Apr 27 15:40:09 2009 +0100 1.3 @@ -1440,13 +1440,13 @@ void hvm_task_switch( 1.4 } 1.5 1.6 exn_raised = 0; 1.7 - if ( hvm_load_segment_selector(v, x86_seg_es, tss.es) || 1.8 + if ( hvm_load_segment_selector(v, x86_seg_ldtr, tss.ldt) || 1.9 + hvm_load_segment_selector(v, x86_seg_es, tss.es) || 1.10 hvm_load_segment_selector(v, x86_seg_cs, tss.cs) || 1.11 hvm_load_segment_selector(v, x86_seg_ss, tss.ss) || 1.12 hvm_load_segment_selector(v, x86_seg_ds, tss.ds) || 1.13 hvm_load_segment_selector(v, x86_seg_fs, tss.fs) || 1.14 - hvm_load_segment_selector(v, x86_seg_gs, tss.gs) || 1.15 - hvm_load_segment_selector(v, x86_seg_ldtr, tss.ldt) ) 1.16 + hvm_load_segment_selector(v, x86_seg_gs, tss.gs) ) 1.17 exn_raised = 1; 1.18 1.19 rc = hvm_copy_to_guest_virt(