Jérôme Gardou
6618d978cd
[CMAKE] Do not disable optimisations on ntoskrnl build
2021-08-06 15:17:49 +02:00
Jérôme Gardou
0bc00267df
[WIN32K] Init User part after GDI one.
...
But Initialize user lock first thing to avoid hitting newly introduced ASSERTS
This partly reverts commit 515d83a883
.
2021-08-06 10:15:02 +02:00
Katayama Hirofumi MZ
c0c9b1445d
[IMM32] Rewrite ImmSetConversionStatus ( #3879 )
...
CORE-11700
2021-08-06 07:15:19 +09:00
Hervé Poussineau
528fede034
[SETUPAPI] Add stubs for SetupDiSetDriverInstallParamsA/W
2021-08-05 23:45:23 +02:00
Hervé Poussineau
e763bec6cd
[PSDK] Add DRIVER_UNTRUSTED_RANK define
2021-08-05 23:45:20 +02:00
Jérôme Gardou
0782375f8b
[CRT] Add one missing entry to _syserr_list array, fix _sys_nerr definition
...
Partial revert of 296e07b94d
2021-08-05 15:35:19 +02:00
Katayama Hirofumi MZ
29b09d8935
[IMM32] Implement ImmGetGuideLineA/W ( #3877 )
...
Implement ImmGetGuideLineA and ImmGetGuideLineW functions. CORE-11700
2021-08-05 21:43:21 +09:00
Jérôme Gardou
acf28dbc1e
[NTOS:MM] Fix the mess created by the "balancer thread"
...
When processing:
Make sure that the process is not terminating.
Make sure that the process WorkingSet is still valid
Protect accessing & writing to PTEs by acquiring the working set lock
CORE-17595 CORE-17642
2021-08-05 10:06:19 +02:00
Jérôme Gardou
676dc4b441
Revert "[NTOS:MM] Do proper checks & acquire proper locks when sweeping user pages"
...
This reverts commit 7c006df7e0
.
Note to self: This is what happens when you have too many branch and push the wrong one.
2021-08-04 23:57:39 +02:00
Jérôme Gardou
7c006df7e0
[NTOS:MM] Do proper checks & acquire proper locks when sweeping user pages
...
CORE-17595
2021-08-04 20:38:37 +02:00
Jérôme Gardou
789d7a7741
[NTOS:MM] When mapping pages for zeroing them, disable cache, enable write through
...
Idea from Thomas Faber
2021-08-04 17:48:39 +02:00
Jérôme Gardou
98e62b9bca
[NTOS:MM] In page zeroing thread, zero more than one page at a time.
2021-08-04 17:48:39 +02:00
Jérôme Gardou
e98de5ef1f
[NTOS:MM] Use KeZeroPages in zeroing thread
2021-08-04 17:48:39 +02:00
Jérôme Gardou
708dc6b7d6
[NTOS:MM] Do not zero-fill pages when not needed
2021-08-04 17:48:39 +02:00
Jérôme Gardou
42bec35f65
[NTOS:KE] Also rewrite KeZeroPages in assembly for amd64
...
Let's stick with "rep movsq" until we are able to have more precise benchmarks
2021-08-04 17:48:39 +02:00
Jérôme Gardou
51258295bd
[NTOS:KE] Rewrite KeZeroPages in assembly
...
We spend a lot of time in this function, let's optimize it.
2021-08-04 17:48:39 +02:00
Marat Nagayev
240dc77e42
[NTFS] Check file isn't encrypted
2021-08-04 16:07:18 +03:00
Marat Nagayev
9be382ec98
[NTFS] Add new defines for file attributes
2021-08-04 16:07:18 +03:00
Jérôme Gardou
34662e2f6f
[NTOS:MM] Copy the WorkingSet page when initializing "hand-built" process
...
CORE-17642
2021-08-04 11:49:38 +02:00
Katayama Hirofumi MZ
1d9542d239
[IMM32] Remove function names from TRACEs
...
CORE-11700
2021-08-04 09:49:41 +09:00
Katayama Hirofumi MZ
692a30a84a
[IMM32] ImmCreateContext, ImmDestroyContext, DllMain etc. ( #3867 )
...
- Rewrite ImmCreateContext, ImmDestroyContext, and DllMain functions.
- Add g_hImm32Inst, g_bClientRegd, and g_SharedInfo global variables. Delete g_dwImm32Flags (that was g_psi->dwSRVIFlags).
- Implement ImmLoadIME and ImmRegisterClient functions.
- Modify CLIENTIMC and IMEDPI structures. Move CLIENTIMC definition into ntuser.h.
- Add file win32ss/include/imetable.h.
- Rename SRVINFO_METRICS macro as SRVINFO_CICERO_ENABLED.
CORE-11700
2021-08-04 09:41:59 +09:00
Timo Kreuzer
c23ce9dfad
[CRT_APITEST] Add static_crt_apitest
2021-08-04 02:03:07 +02:00
Timo Kreuzer
8043628d97
[PSDK] Add some missing ARM definitions
2021-08-04 02:03:07 +02:00
Timo Kreuzer
e91f201be2
[CRT] Implement crt_process_init()
2021-08-04 02:03:07 +02:00
Timo Kreuzer
8043b76e85
[CRT] Improve CMake files
2021-08-04 02:03:07 +02:00
Timo Kreuzer
950e814377
[CRT] Fix _fmode
...
Remove mingw-w64 version of _fmode. _fmode should not be linked directly into the executable. Instead, the export from msvcrt should be used. On Windows 10 it's defined to *__p__fmode(), which is exported from ucrtbase.dll
Also _fmode in msvcrt.dll is initialized with 0.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
296e07b94d
[CRT] Fix some data exports
...
* Fix initialization of _commode. In msvcrt it is allocated from .bss, i.e. initialized with 0.
* _fileinfo is initialized with -1
* _aexit_rtn is a pointer, not a function
* Fix _sys_nerr
2021-08-04 02:03:07 +02:00
Timo Kreuzer
5f548654f4
[CRT_APITEST] Add tests for data exports
2021-08-04 02:03:07 +02:00
Timo Kreuzer
379957424c
[CRT] Fix some _CRTIMP
...
Get rid of the ugly __MINGW_IMP_SYMBOL hacks.
2021-08-04 02:03:07 +02:00
Timo Kreuzer
b05cc36208
[CRT] Fix CRT headers a bit
...
* Remove unused internal version of float.h
* Define _STATIC_ASSERT in crtdefs.h
* Add some missing declarations
2021-08-04 02:03:07 +02:00
Timo Kreuzer
0f3d052af9
[CRT] Remove _fmode and _commode initialization
...
This "initialization" copies the value of the local variable to the one exported from msvcrt, which is the same. Also there shouldn't be a local version of the variable in the first place.
2021-08-04 02:03:07 +02:00
Katayama Hirofumi MZ
7507a8f192
[IMM32] Rewrite ImmInstallIMEA ( #3873 )
...
Implementing Japanese input... CORE-11700
2021-08-04 07:32:13 +09:00
Jérôme Gardou
bd6fb80867
[WIN32K:NTUSER] In debug builds, enable free & tail checking when creating heaps
...
Actually catches bugs
2021-08-03 23:13:19 +02:00
Jérôme Gardou
b783b16cef
[WIN32K:USER] Fix potential use after free when painting child windows
2021-08-03 23:13:19 +02:00
Jérôme Gardou
d958dc9bc2
[WIN32K:NTUSER] Assert global user lock is held exclusively when using global & desktop heaps
...
They're explicitly not serialized because we count on this.
2021-08-03 23:13:19 +02:00
Jérôme Gardou
8c098ee8d2
[WIN32K:NTUSER] Make sure to hold User Global Lock before unmapping desktop heap
2021-08-03 23:13:19 +02:00
Jérôme Gardou
6ec0420dc6
[WIN32K:NTUSER] Allocate & free timers under global user lock
2021-08-03 23:13:19 +02:00
Jérôme Gardou
515d83a883
[WIN32K] On init, start by initializing NtUser stuff
...
Allocate gpsi (Global Server Info) after initializing & grabbing Userlock
2021-08-03 23:13:19 +02:00
Jérôme Gardou
be6a6b806a
[NTOS:MM] Remove dead code
2021-08-03 10:57:12 +02:00
Jérôme Gardou
c6d08c4828
[CMAKE] Update DLL base addresses
2021-08-03 10:36:32 +02:00
Victor Perevertkin
f777e6bd24
[GITHUB] Build Release configuration for all compilers
2021-08-02 20:23:23 +03:00
Victor Perevertkin
5176f580e5
[CMAKE] Add memcmp to libntoskrnl for both clang and clang-cl
2021-08-02 20:23:22 +03:00
Victor Perevertkin
03506b90e0
[MSVCRTEX] Add some routines required for clang optimizations
...
- Include exp2* in all clang builds
- Include __aulldiv for i386 ones
Those are required, at least for clang-cl Release configuration
2021-08-02 20:23:18 +03:00
Nexware
14fbe80c4a
[CONFIGURE] Make configure.sh print out an error when CMake fails
2021-08-02 01:40:43 +03:00
Robert Naumann
a0235bf877
[UXTHEME] Fix incorrect part IDs in button class map.
...
Wine Patch by Zhiyi Zhang. (Commit ec82a0ebe65a0bd9f41c743d301c853e77dd8b8b)
2021-08-01 12:22:58 +02:00
George Bișoc
632fa1cfbe
[NTOS:SE] Handle the reference logon session of the token
...
When creating or duplicating an access token object, make sure that the logon session is getting referenced by the token must be inserted onto the logon reference member (a.k.a LogonSession) for proper logon session referencing tracking.
Also when a token object is about to be destroyed or that we are taking away a reference session from it, we must ensure that the referenced logon session data gets removed from the token in question.
CORE-17700
2021-07-31 17:23:05 +02:00
George Bișoc
5e51f8dad2
[NTOS:SE] Implement logon reference insertion/removal to tokens
2021-07-31 16:11:03 +02:00
George Bișoc
7692c10527
[NTOS:SE] Unify all the SRM tags in one place
...
And rename SEP_LOGON_SESSION_TAG and SEP_LOGON_NOTIFICATION_TAG to TAG_LOGON_SESSION and TAG_LOGON_NOTIFICATION respectively.
2021-07-31 16:10:50 +02:00
Roman Masanin
be3c532bf4
[ARM/CRT] Refactor several functions ( #3865 )
...
- Make __fto64 function more readable
- Call worker function directly for __rt_sdiv/udiv
- Adapt __rt_sdiv64/udiv64 asm shims accordingly
- Add header files to CMake source list
CORE-17607 CORE-17614 CORE-17703 CORE-17604
Addendum to f2bc1f0e
, e448094e
and 54406bf4
.
2021-07-31 11:24:03 +03:00
Katayama Hirofumi MZ
d7f13aa696
[IMM32] Improve ImmSimulateHotKey ( #3858 )
...
- Improve ImmSimulateHotKey function.
- Modify IMEDPI structure.
CORE-11700
2021-07-31 15:56:11 +09:00