Commit Graph

27 Commits

Author SHA1 Message Date
Alex Henrie f83f0e5f13 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>
2020-06-23 12:25:59 +02:00
Paul Gofman 6ceb6c7f47 ntoskrnl.exe: Return zero for unknown msr registers.
rdmsr should fault if called with the register not supported
by CPU. But until we want to support the full range of CPU
specific registers returning zero is probably a better
fallback.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 21:17:13 +02:00
Paul Gofman 42ce4910a4 ntoskrnl.exe: Support 'xor Ev, Gv' opcode for x86_64.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 16:51:57 +02:00
Paul Gofman e7778dd9f9 ntoskrnl.exe: Support 'or Ev, Gv' opcode for x86_64.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 16:51:55 +02:00
Paul Gofman b40be1d43b ntoskrnl.exe: Emulate full user shared data area range.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 12:13:16 +02:00
Rémi Bernon a1c46c3806 server: Add USD support with timestamp updates.
The USD page is created when the first process (wineboot.exe) completes
its creation, using its provided user_shared_data for initialization.

The server maps the page write-only and the clients map it read-only,
then the server updates the timestamps every 16 ms.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=29168
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 10:57:56 +02:00
Brendan Shanks 3810fb1ef0 ntoskrnl: Fix emulation of RIP-relative addressing.
The target address is relative to the RIP of the next instruction, not
the current RIP.

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 20:53:46 +01:00
Alexandre Julliard a1cdcc5290 ntoskrnl: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:28:35 +02:00
Derek Lesho c988910cae ntoskrnl.exe: Update the tick count in KUSER_SHARED_DATA when accessed.
EasyAntiCheat.sys constantly reads this value, so I think keeping it
up-to-date is a good idea.

Signed-off-by: Derek Lesho <dereklesho52@Gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-22 21:59:08 +01:00
Derek Lesho e7863eaa4e ntoskrnl.exe: Add emulation of rdmsr for MSR_LSTAR control register.
Signed-off-by: Derek Lesho <dereklesho52@Gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-22 21:39:26 +01:00
Fabian Maurer d509b1579e ntoskrnl: Emulate sti/cli instructions on x86_64.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45521
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Alexandre Julliard ce09790d29 ntoskrnl: Add emulation of CRn and DRn registers on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 11:46:01 +02:00
Alexandre Julliard 9f103a9e78 ntoskrnl.exe: More general implementation of the CRn and DRn registers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Alexandre Julliard 0cbb5d0a14 ntoskrnl.exe: Add a helper function for accessing registers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Ken Thomases f8220cbe93 ntoskrnl.exe: Fix SIB_INDEX() to use REX_X, not REX_R.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-12 15:21:41 +09:00
Sebastian Lackner 3d203b1ecb ntoskrnl: Use SIZE_T to store 64-bit offset to USER_SHARED_DATA page. 2015-06-24 15:36:41 +09:00
Sebastian Lackner 9c789f2949 ntoskrnl: Add emulation for 'movzx {Eb,Ew}, Gv' instruction. 2015-06-19 20:15:20 +09:00
Sebastian Lackner 411cdebaed ntoskrnl: Add emulation for 'mov Ob, AL' and 'mov Ovqp, rAX' instruction. 2015-06-19 20:15:18 +09:00
Sebastian Lackner 0b06d4c4a3 ntoskrnl: Add initial code to emulate memory access to USER_SHARED_DATA on x86_64. 2015-06-19 20:15:12 +09:00
Sebastian Lackner b61d93a6b7 ntoskrnl: Emulate 'mov Eb, Gb' instruction on x86 processor architecture. 2015-03-27 00:11:39 +09:00
Stefan Leichter e729dba55d ntoskrnl.exe: Emulate instruction mov eax,cr4. 2015-01-05 20:10:49 +01:00
Sebastian Lackner 927a44e676 ntoskrnl.exe: Fix incorrect interpretation of SIB byte when parsing x86 opcode. 2014-11-07 14:05:12 +09:00
Marcus Meissner bd6e1976b3 ntoskrnl.exe: Emulate some more mov eax -> drX. 2014-09-08 11:52:53 +02:00
Gerald Pfeifer 57e4e608dc ntoskrnl.exe: Remove variable sep and related code from INSTR_GetOperandAddr. 2011-01-21 13:38:54 +01:00
Alexandre Julliard 3161fc517f ntoskrnl.exe: Avoid using the CONTEXT86 type. 2010-10-20 18:37:08 +02:00
Gerald Pfeifer 9c69b23551 ntoskrnl.exe: Remove variable retX which is not really used from emulate_instruction. 2010-05-03 15:41:51 +02:00
Alexandre Julliard b387880269 ntoskrnl: Duplicate the necessary part of instruction emulation to avoid importing kernel. 2009-12-31 12:11:59 +01:00