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>
This commit is contained in:
Keir Fraser committed 2009-04-27 15:40:09 +01:00
1 parent 5dd00021b3
commit 1908c5cf43
1 file changed
+3 -3
+3 -3
View File
@@ -1440,13 +1440,13 @@ void hvm_task_switch(
}
exn_raised = 0;
if ( hvm_load_segment_selector(v, x86_seg_es, tss.es) ||
if ( hvm_load_segment_selector(v, x86_seg_ldtr, tss.ldt) ||
hvm_load_segment_selector(v, x86_seg_es, tss.es) ||
hvm_load_segment_selector(v, x86_seg_cs, tss.cs) ||
hvm_load_segment_selector(v, x86_seg_ss, tss.ss) ||
hvm_load_segment_selector(v, x86_seg_ds, tss.ds) ||
hvm_load_segment_selector(v, x86_seg_fs, tss.fs) ||
hvm_load_segment_selector(v, x86_seg_gs, tss.gs) ||
hvm_load_segment_selector(v, x86_seg_ldtr, tss.ldt) )
hvm_load_segment_selector(v, x86_seg_gs, tss.gs) )
exn_raised = 1;
rc = hvm_copy_to_guest_virt(
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.