From 8a1cbbcba198ca74fc409671b47eecb4ad9763d7 Mon Sep 17 00:00:00 2001 From: OBattler Date: Mon, 7 Aug 2023 03:29:10 +0200 Subject: [PATCH] Implemented the P6 model-specific register 1D9h (DEBUG_CTL), needed by Netware 6.0. --- src/cpu/cpu.c | 7 +++++++ src/cpu/cpu.h | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index d633b9bb2..46f4618a4 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -2735,6 +2735,10 @@ amd_k_invalid_rdmsr: EAX = msr.ecx187 & 0xffffffff; EDX = msr.ecx187 >> 32; break; + case 0x1d9: + EAX = msr.debug_ctl & 0xffffffff; + EDX = msr.debug_ctl >> 32; + break; case 0x1e0: EAX = msr.ecx1e0 & 0xffffffff; EDX = msr.ecx1e0 >> 32; @@ -3172,6 +3176,9 @@ amd_k_invalid_wrmsr: case 0x187: msr.ecx187 = EAX | ((uint64_t) EDX << 32); break; + case 0x1d9: + msr.debug_ctl = EAX | ((uint64_t) EDX << 32); + break; case 0x1e0: msr.ecx1e0 = EAX | ((uint64_t) EDX << 32); break; diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h index d13201608..c1ffb3591 100644 --- a/src/cpu/cpu.h +++ b/src/cpu/cpu.h @@ -284,6 +284,11 @@ typedef struct { /* Pentium Pro, Pentium II Klamath, and Pentium II Deschutes MSR's */ uint64_t ecx186; /* 0x00000186, 0x00000187 */ uint64_t ecx187; /* 0x00000186, 0x00000187 */ + + /* Pentium Pro, Pentium II Klamath, and Pentium II Deschutes MSR's */ + uint64_t debug_ctl; /* 0x000001d9 - Debug Registers Control */ + + /* Pentium Pro, Pentium II Klamath, and Pentium II Deschutes MSR's */ uint64_t ecx1e0; /* 0x000001e0 */ /* Pentium Pro, Pentium II Klamath, and Pentium II Deschutes MSR's that are also