ntoskrnl: Provide a more realistic value for register CR0.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48997
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alex Henrie 2020-06-23 00:32:58 -06:00 committed by Alexandre Julliard
parent dd26d67661
commit f83f0e5f13

View file

@ -35,6 +35,13 @@
#define KSHARED_USER_DATA_PAGE_SIZE 0x1000
#define CR0_PE 0x00000001 /* Protected Mode */
#define CR0_ET 0x00000010 /* Extension Type */
#define CR0_NE 0x00000020 /* Numeric Error */
#define CR0_WP 0x00010000 /* Write Protect */
#define CR0_AM 0x00040000 /* Alignment Mask */
#define CR0_PG 0x80000000 /* Paging */
enum instr_op
{
INSTR_OP_MOV,
@ -350,7 +357,7 @@ static DWORD emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
TRACE( "mov cr%u,%s at 0x%08x\n", reg, reg_names[instr[2] & 7], context->Eip );
switch (reg)
{
case 0: *data = 0x10; break; /* FIXME: set more bits ? */
case 0: *data = CR0_PE|CR0_ET|CR0_NE|CR0_WP|CR0_AM|CR0_PG; break;
case 2: *data = 0; break;
case 3: *data = 0; break;
case 4: *data = 0; break;