[PATCH] ntoskrnl.exe: Add emulation of rdmsr for MSR_LSTAR control register.
Ken Thomases
ken at codeweavers.com
Thu Mar 21 00:16:16 CDT 2019
On Mar 20, 2019, at 11:19 PM, Derek Lesho <dereklesho52 at gmail.com> wrote:
>
> Signed-off-by: Derek Lesho <dereklesho52 at Gmail.com>
> ---
> dlls/ntoskrnl.exe/instr.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/dlls/ntoskrnl.exe/instr.c b/dlls/ntoskrnl.exe/instr.c
> index 67cdd327ee..192ba05ee4 100644
> --- a/dlls/ntoskrnl.exe/instr.c
> +++ b/dlls/ntoskrnl.exe/instr.c
> @@ -586,6 +586,12 @@ static BYTE *INSTR_GetOperandAddr( CONTEXT *context, BYTE *instr,
> }
>
>
> +static void fake_syscall_function(void)
> +{
> + TRACE("() stub\n");
> +}
> +
> +
> /***********************************************************************
> * emulate_instruction
> *
> @@ -757,6 +763,25 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
> context->Rip += prefixlen + 3;
> return ExceptionContinueExecution;
> }
> + case 0x32: /* rdmsr */
> + {
> + int reg = context->Rcx & 0xffffffff;
> + TRACE("rdmsr CR 0x%08x\n", reg);
> + switch (reg)
> + {
> + case 0xc0000082:
You should probably use a symbolic constant here, rather than a bare magic number. Define one, if needed (and it probably will be).
-Ken
More information about the wine-devel
mailing list