From 624f1cfcfcfa0e48a68af4635cefacf7665a5c12 Mon Sep 17 00:00:00 2001 From: SarahW Date: Mon, 9 Nov 2020 08:06:49 +0000 Subject: [PATCH] Set raw limits on LLDT & LTR instructions - Cyrix RSLDT/RSTS instructions no longer corrupt LDT/TR limits. --- src/x86_ops_pmode.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/x86_ops_pmode.h b/src/x86_ops_pmode.h index 5ad244f..3578b5f 100644 --- a/src/x86_ops_pmode.h +++ b/src/x86_ops_pmode.h @@ -202,6 +202,7 @@ static int op0F00_common(uint32_t fetchdat, int ea32) granularity = readmemb(0, addr + 6) & 0x80; if (cpu_state.abrt) return 1; ldt.limit = limit; + ldt.limit_raw = limit; ldt.access = access; ldt.access2 = access2; if (granularity) @@ -236,6 +237,7 @@ static int op0F00_common(uint32_t fetchdat, int ea32) if (cpu_state.abrt) return 1; tr.seg = sel; tr.limit = limit; + tr.limit_raw = limit; tr.access = access; tr.access2 = access2; if (granularity)