From 2499e95956dee530e9481423846f446153f3b2f1 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Fri, 13 Sep 2024 17:25:30 +0100 Subject: [PATCH] memop-seg: Have %fs/%gs loaded unconditionally There are a lot of testcase steps; it's safe and faster. Signed-off-by: Andrew Cooper --- tests/memop-seg/asm.S | 2 +- tests/memop-seg/main.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/memop-seg/asm.S b/tests/memop-seg/asm.S index 6986614..08e87b2 100644 --- a/tests/memop-seg/asm.S +++ b/tests/memop-seg/asm.S @@ -155,7 +155,7 @@ ENDFUNC(stub_\seg\()_\reg) */ .local seg_mask, seg_idx, reg_mask, reg_idx #ifdef __i386__ - seg_mask = 0b1100111 + seg_mask = 0b1100100 #else seg_mask = 0 #endif diff --git a/tests/memop-seg/main.c b/tests/memop-seg/main.c index 82ee9f4..ce79225 100644 --- a/tests/memop-seg/main.c +++ b/tests/memop-seg/main.c @@ -269,6 +269,10 @@ void test_main(void) 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 ) -- 2.39.5