There are a lot of testcase steps; it's safe and faster.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
*/
.local seg_mask, seg_idx, reg_mask, reg_idx
#ifdef __i386__
- seg_mask = 0b1100111
+ seg_mask = 0b1100100
#else
seg_mask = 0
#endif
update_desc(&gdt[GDTE_AVAIL1],
GDTE_SYM(0, 0x7ffff, COMMON, DATA, DPL3, B, W));
exec_user_ss = GDTE_AVAIL1 << 3 | 3;
+
+ /* Load %fs/%gs unconditionally. */
+ write_fs(exec_user_ss);
+ write_gs(exec_user_ss);
}
for ( i = 0; i < ARRAY_SIZE(tests); ++i )