Justin Miller [Tue, 4 May 2021 01:29:50 +0000 (18:29 -0700)]
[HALX86] Disable Lazy IRQL in APIC HAL (#3609)
Lazy IRQL feature has issues with interrupt delivery on VirtualBox, so disable it for now.
For the feature description, see commit
d28eae967a04320931241f06c88c801aa86397bd
Meanwhile, merge and clean up APIC headers a bit
Victor Perevertkin [Mon, 3 May 2021 22:32:21 +0000 (01:32 +0300)]
[GITHUB] Use full paths on build-linux, as RosBE.sh overwrites them
Addendum to
167c60a5c8c20cb0e58c78ff1449e5c220208c16 and
823ddc3d82b8a6d035c699d9366cf95cc7f94f8f
Victor Perevertkin [Mon, 3 May 2021 22:21:40 +0000 (01:21 +0300)]
[GITHUB] Remove working-directory for configure
Addendum to
167c60a5c8c20cb0e58c78ff1449e5c220208c16
Victor Perevertkin [Mon, 3 May 2021 22:10:22 +0000 (01:10 +0300)]
[GITHUB] Use cmake's -S and -B options explicitly
Jérôme Gardou [Mon, 3 May 2021 13:48:53 +0000 (15:48 +0200)]
[GITHUB] Add clang-cl amd64 build to CI
As before, use a matrix for Ninja+Msvc build
Jérôme Gardou [Mon, 3 May 2021 13:47:56 +0000 (15:47 +0200)]
[FDEBUG] Use VK_ identifiers with VIRTKEY
Jérôme Gardou [Mon, 3 May 2021 14:09:34 +0000 (16:09 +0200)]
[PSEH] Fix use of dummy implementation in C++
Jérôme Gardou [Mon, 3 May 2021 13:29:50 +0000 (15:29 +0200)]
[PSEH] Use dummy PSEH for clang(-cl) amd64 build
Jérôme Gardou [Fri, 30 Apr 2021 15:36:49 +0000 (17:36 +0200)]
[NOTEPAD] Fix resource file
VIRTKEY can't be preceded with ^
and is useless anyway
Jérôme Gardou [Fri, 30 Apr 2021 12:15:39 +0000 (14:15 +0200)]
[CMAKE] Do not use a flag which clang doesn't know
Jérôme Gardou [Fri, 30 Apr 2021 11:55:17 +0000 (13:55 +0200)]
[KERNEL32] Sync NLS RC files with wine 6.7
Mostly for having them UTF-8 encoded
Jérôme Gardou [Thu, 29 Apr 2021 21:33:05 +0000 (23:33 +0200)]
[CRT] Also use alias _rot functions for clang-cl amd64 build
Jérôme Gardou [Thu, 29 Apr 2021 20:28:33 +0000 (22:28 +0200)]
[CMAKE] Do not define _M_AMD64 when using amd64 clang-cl
Jérôme Gardou [Thu, 29 Apr 2021 20:25:54 +0000 (22:25 +0200)]
[CRT] Do not define builtin functions if not needed
Jérôme Gardou [Thu, 29 Apr 2021 20:14:41 +0000 (22:14 +0200)]
[CMAKE] Always use cl to build host tools
Jérôme Gardou [Wed, 28 Apr 2021 12:13:31 +0000 (14:13 +0200)]
[GITHUB] Enable GCC+clang amd64 build
Use github cache to build & retrieve RosBE on linux,
for now using a custom build script until Next RosBE is out
Use a matrix to manage linux gcc + clang build
Jérôme Gardou [Thu, 29 Apr 2021 08:53:08 +0000 (10:53 +0200)]
[FRAMEDYN] Fix the whole situation with regards to wchar_t
Alias CHSTRING_WCHAR to unsigned short and use inline wrappers
to be able to use the thing with modern compilers
Put the GCC aliases into the public header.
Enable build with clang-cl
Jérôme Gardou [Thu, 29 Apr 2021 13:30:59 +0000 (15:30 +0200)]
[SPEC2DEF] Fix imports of C++ stdcall exports
Too much mangling mangles it too much
Jérôme Gardou [Wed, 28 Apr 2021 21:52:45 +0000 (23:52 +0200)]
[CMAKE] Use SEH exceptions for c++ in clang amd64 build
Jérôme Gardou [Wed, 28 Apr 2021 15:25:15 +0000 (17:25 +0200)]
[CRT] Fix SEH macros for clang x64
Jérôme Gardou [Wed, 28 Apr 2021 15:17:02 +0000 (17:17 +0200)]
Revert "[CMAKE] Disable SSE instruction on GCC amd64 builds"
The right fix is to ensure that the stack is properly 16-bit aligned
This reverts commit
63944988a25335a5ac97f4028e759aede04a8458.
Oleg Dubinskiy [Mon, 3 May 2021 16:11:18 +0000 (19:11 +0300)]
[GDI32] Fix wrong ordering of parameters in NtGdiDdGetDC call (#3637)
It allows to properly pass the surface handle (and palette entry pointer) from MS ddraw into win32k.
Otherwise, they are passing into the wrong parameters of actual NtGdi* function, and due to this,
since they're detected as invalid, they become NULL, and that function does not work correctly.
See https://docs.microsoft.com/en-us/windows/win32/devnotes/-dxgkernel-ntgdiddgetdc for the reference
(and confirmed by our headers).
Required by MS DirectDraw stack (ddraw.dll & dxg.sys).
CORE-17561
George Bișoc [Sun, 2 May 2021 19:03:09 +0000 (21:03 +0200)]
[NTOS:PS] Add some data structures
These are needed for API tests. The following structures are taken from Process Hacker.
George Bișoc [Sun, 2 May 2021 19:00:51 +0000 (21:00 +0200)]
[NTOSKRNL] Use IQS_SAME instead of ICI_SQ_SAME
And remove the redundant ICI_SQ_SAME macro as it's no longer needed in the codebase.
George Bișoc [Sun, 2 May 2021 18:58:40 +0000 (20:58 +0200)]
[NTDLL_APITEST] Add alignment probing tests for Query/Set information thread related routines
George Bișoc [Sun, 2 May 2021 18:56:14 +0000 (20:56 +0200)]
[NTDLL_APITEST] Add alignment probing tests for Query/Set information process related routines
George Bișoc [Sun, 2 May 2021 18:52:18 +0000 (20:52 +0200)]
[NTOS:PS] Bring the threads/processes information classes table back
These were removed in
bf493b9, for whatever apparent reason. It's time to import them back.
George Bișoc [Sun, 2 May 2021 18:49:06 +0000 (20:49 +0200)]
[NTOSKRNL] Move the ICIF related code and stuff into a separate header file
For easier accessibility for the APITESTs and whatnot.
George Bișoc [Sun, 2 May 2021 18:45:57 +0000 (20:45 +0200)]
[NTDLL_APITEST] Implement alignment probing library code
The probing library code only probes data types for threads/processes information classes in Process Structure subsystem for now.
George Bișoc [Sun, 2 May 2021 18:42:19 +0000 (20:42 +0200)]
[NTDLL_APITEST] Include the internal headers from the kernel and the probing library file
George Bișoc [Mon, 12 Apr 2021 12:42:52 +0000 (14:42 +0200)]
[NTOS:PS] Make sure we can impersonate the given token first
PsImpersonateClient blindly impersonates the requested client even though it doesn't know if the actual token given to the call can be impersonated for the thread of the client which we are going to begin impersonation. In the case where impersonation is not possible, make a copy of the given token and assign the newly one for impersonation instead.
CORE-17539
George Bișoc [Mon, 12 Apr 2021 12:33:42 +0000 (14:33 +0200)]
[NTOS:SE] Implement SeTokenCanImpersonate routine
SeTokenCanImpersonate ensures whether the client impersonation can occur, and if not, the call signals this to the caller.
Eric Kohl [Sun, 2 May 2021 14:26:11 +0000 (16:26 +0200)]
Eric Kohl [Sun, 2 May 2021 13:28:26 +0000 (15:28 +0200)]
[NTOS:PS] Add the missing privilege check to NtSetInformationThread:ThreadPriority
This fixes the remaining failure in the NtSetInformationThread test.
Eric Kohl [Sun, 2 May 2021 11:55:29 +0000 (13:55 +0200)]
[NTOS:PS] Add ThreadInformation probing to NtSetInformationThread
Also get rid of unused buffer check code.
This fixes two test failures.
Eric Kohl [Sun, 2 May 2021 11:46:22 +0000 (13:46 +0200)]
[NTOS:PS] Rewrite NtSetInformationThread to match NtQueryInformationThread
The Information length must always be checked before referencing the thread object. This fixes a test failure.
Eric Kohl [Sun, 2 May 2021 10:46:19 +0000 (12:46 +0200)]
[NTOS:PS] Rewrite NtQueryInformationThread to match NtQueryInformationProcess
The information length must always be checked before referencing the thread object. This fixes the remaining test failure.
Serge Gautherie [Sat, 1 May 2021 19:11:34 +0000 (21:11 +0200)]
[REACTOS] Fix parameter types on some exports (#3217)
Fix some wrong parameter types on some exports in NTDLL, KERNEL32, WTSAPI32, and NTOSKRNL.
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[NTOS:OB] ObQueryDeviceMapInformation(): Fix annotations
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[PSDK] UnlockResource(): Improve definition
Sync' with
https://source.winehq.org/git/wine.git/commit/
a9e50da352e32d4c1bc8d0a686efa1e1bb7a84da
Katayama Hirofumi MZ [Fri, 30 Apr 2021 01:48:33 +0000 (10:48 +0900)]
[CMD_APITEST] Follow-up of #3632 (
0c2230a)
CORE-17500
Hermès Bélusca-Maïto [Fri, 30 Apr 2021 00:42:35 +0000 (02:42 +0200)]
[INF] Remove stray file. Addendum to commit
a1fc312a.
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[NTOS:PS] NtQueryInformationProcess(): Fix ProcessDeviceMap case
Fix Clang-Cl
'...\ntoskrnl\ps\query.c(583,33): warning: variable 'Status' is uninitialized when used here [-Wuninitialized]'
Addendum to
1074a9a.
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[NTOS:PS] NtQueryInformationProcess(): Sync' annotations
Katayama Hirofumi MZ [Thu, 29 Apr 2021 07:59:20 +0000 (16:59 +0900)]
[FC] Fix typo s/IDS_RESYNCH_/IDS_RESYNC_/ s/Resynch/Resync/
CORE-17500
Katayama Hirofumi MZ [Thu, 29 Apr 2021 07:39:13 +0000 (16:39 +0900)]
[CMD_APITEST] Add FC testcase (#3632)
Add a testcase for FC (file comparison) command to investigate FC command. CORE-17500
Hervé Poussineau [Wed, 21 Apr 2021 22:32:33 +0000 (00:32 +0200)]
[NE2000] Use the real MAC address instead of a fake one
These lines were added 15 years ago, in r18445.
Jérôme Gardou [Wed, 28 Apr 2021 13:58:01 +0000 (15:58 +0200)]
[NTOS:KDBG] Fix invalid DBG print
Jérôme Gardou [Wed, 28 Apr 2021 12:52:05 +0000 (14:52 +0200)]
[KDGDB] Remove debugging leftover
Jérôme Gardou [Tue, 27 Apr 2021 08:23:37 +0000 (10:23 +0200)]
[NTOS:KDBG] Begin port for amd64.
Not really functional, but it prints debug output.
Take this as an opportunity to add consistancy between some i386 & amd64 intrinsics
Jérôme Gardou [Fri, 23 Apr 2021 13:30:41 +0000 (15:30 +0200)]
[CRT] Sync tlssup.c with mingw-w64
This allows amd64 built binary to be loaded.
Jérôme Gardou [Fri, 23 Apr 2021 13:30:18 +0000 (15:30 +0200)]
[CRT] We never use the mthread library
Jérôme Gardou [Fri, 23 Apr 2021 13:26:33 +0000 (15:26 +0200)]
[KDGDB] Avoid looping for ever when something unexpected happens
Jérôme Gardou [Thu, 22 Apr 2021 15:35:54 +0000 (17:35 +0200)]
[SDK] Use GAS SEH capabilities instead of CFI
Also remove a hack for x86 GAS which no longer holds
Jérôme Gardou [Thu, 22 Apr 2021 15:33:24 +0000 (17:33 +0200)]
[NTOS:KE] Explicitly use sysretq instruction
Jérôme Gardou [Thu, 22 Apr 2021 15:31:39 +0000 (17:31 +0200)]
[CMAKE] Disable SSE instruction on GCC amd64 builds
Except for user-mode modules
Jérôme Gardou [Thu, 22 Apr 2021 09:11:34 +0000 (11:11 +0200)]
[PSEH] Add implementation for GCC amd64
Also, put include directory next to the library and use
target_include_directories(.. INTERFACE ..) to get this right.
This is because :
- Having includes & implementation in two different places buggers me
- This makes sure that there is no "if it compiles everything is fine" behaviour from anyone
because now even static libraries need it for GCC amd64 build
Also add __USE_PSEH2__ define for the non SEH-aware compilers out there and use it in a few headers
where we define macros involving __try
Jérôme Gardou [Fri, 23 Apr 2021 14:22:01 +0000 (16:22 +0200)]
[CRT] Do not include unneeded PSEH header
Jérôme Gardou [Thu, 22 Apr 2021 15:28:52 +0000 (17:28 +0200)]
[REACTOS] Explicitly link against pseh & include pseh headers in a few places
Jérôme Gardou [Thu, 22 Apr 2021 08:37:50 +0000 (10:37 +0200)]
[CMAKE] Introduce a GCC plugin for helping with amd64 SEH implementation
\#pragma REACTOS SEH(except)
\#pragma REACTOS SEH(finally)
What it does is counting the number of SEH __try blocks and emit the proper assembly statements at function prologue
It also checks for mixing C++ & SEH exception handling, which wouldn't work
Jérôme Gardou [Wed, 21 Apr 2021 17:52:58 +0000 (19:52 +0200)]
[RTL] Use addressing relative to rip
Jérôme Gardou [Wed, 21 Apr 2021 17:50:31 +0000 (19:50 +0200)]
[PSEH] Make the dummy PSEH at least usable.
Not screwing the code flow when no exception happens would be the least
Jérôme Gardou [Wed, 21 Apr 2021 17:46:59 +0000 (19:46 +0200)]
[HALX86] Use addressing relative to RIP
Jérôme Gardou [Wed, 21 Apr 2021 17:46:30 +0000 (19:46 +0200)]
[BTRFS] Use addressing relative to RIP
Jérôme Gardou [Wed, 14 Apr 2021 11:36:17 +0000 (13:36 +0200)]
[KDGDB] Adapt to amd64
Jérôme Gardou [Wed, 14 Apr 2021 08:07:16 +0000 (10:07 +0200)]
[REGEDIT] Fix declaration of DbgPrint
Jérôme Gardou [Tue, 13 Apr 2021 08:45:10 +0000 (10:45 +0200)]
[CRT] Fix __ll_lshift, __ll_rshift and __ull_rshift intrinsics on gcc-amd64
Jérôme Gardou [Mon, 12 Apr 2021 17:59:52 +0000 (19:59 +0200)]
[CMAKE:GCC] Enforce file alignment on driver & kernel images
Jérôme Gardou [Mon, 12 Apr 2021 13:51:33 +0000 (15:51 +0200)]
[NDK] Add some missing defines for EFLAGS on amd64
Jérôme Gardou [Mon, 12 Apr 2021 12:17:14 +0000 (14:17 +0200)]
[NTOS] Do not force-align an integer value
Jérôme Gardou [Mon, 12 Apr 2021 12:16:49 +0000 (14:16 +0200)]
[FREELDR] Save used register when calling PNPBIOS
Jérôme Gardou [Mon, 12 Apr 2021 12:15:33 +0000 (14:15 +0200)]
[FREELDR] Force alignment of .text section on disk
Fixes boot for clang & GCC-amd64 build
Also rename freeldr_i386.lds to freeldr_gcc.lds for better clarity
Jérôme Gardou [Mon, 12 Apr 2021 08:28:11 +0000 (10:28 +0200)]
[PSDK] Do not compare to max value if we can make sure that the value fits in target type
This fixes clang warning -Wtautological-constant-out-of-range-compare
Jérôme Gardou [Mon, 12 Apr 2021 08:07:35 +0000 (10:07 +0200)]
[CRT] Add macros to disable diagnostics from GCC and clang
Instead of disabling them globally, this will help making finer grained decisions
Jérôme Gardou [Fri, 9 Apr 2021 17:21:25 +0000 (19:21 +0200)]
[SDK] Make sure we build pefixup with AMD64 definitions
Jérôme Gardou [Tue, 27 Apr 2021 07:56:23 +0000 (09:56 +0200)]
[SDK] Fix definition of IMAGE_NT_HEADERS64 in host tools
Jérôme Gardou [Fri, 9 Apr 2021 14:52:53 +0000 (16:52 +0200)]
[COMPILER_APITEST] Disable SEH tests for GCC amd64 build
Jérôme Gardou [Fri, 9 Apr 2021 14:50:43 +0000 (16:50 +0200)]
[KERNEL32_APITEST] Fix compilation & global wut?? with SSE exception test
Stanislav Motylkov [Tue, 27 Apr 2021 20:58:53 +0000 (23:58 +0300)]
[ACPI] Improve Russian translation INF file
Also some minor whitespace fixes
Stanislav Motylkov [Tue, 27 Apr 2021 15:40:23 +0000 (18:40 +0300)]
[FC] Add Russian (ru-RU) translation
Addendum to
2db87ebd.
George Bișoc [Fri, 26 Mar 2021 12:38:04 +0000 (13:38 +0100)]
[NTDLL_APITEST] Implement NtImpersonateAnonymousToken testcase
George Bișoc [Thu, 25 Mar 2021 20:48:38 +0000 (21:48 +0100)]
[NTOS:SE] Implement the NtImpersonateAnonymousToken system call
Implement SepImpersonateAnonymousToken private helpers, which is necessary for the complete implementation of NtImpersonateAnonymousToken function and thus finally we're able to impersonate the anonymous logon token.
George Bișoc [Thu, 25 Mar 2021 19:47:30 +0000 (20:47 +0100)]
[NTOS:SE] Add the declaration prototype of SepRegQueryHelper in the internal header
George Bișoc [Thu, 25 Mar 2021 12:05:49 +0000 (13:05 +0100)]
[NTOS:SE] Annotate the function parameters of SepRegQueryHelper with SAL
And add a documentation comment header
George Bișoc [Thu, 25 Mar 2021 09:21:13 +0000 (10:21 +0100)]
[BOOTDATA] Include EveryoneIncludesAnonymous registry value on Lsa system key
For further information
https://docs.microsoft.com/en-us/windows/win32/api/securitybaseapi/nf-securitybaseapi-impersonateanonymoustoken
Jérôme Gardou [Tue, 27 Apr 2021 09:11:41 +0000 (11:11 +0200)]
[CMAKE] Fix compilation with newer windres versions
Also use clang as preprocessor when using it
Also, use *our* headers instead of the platform ones
Jérôme Gardou [Tue, 27 Apr 2021 09:33:29 +0000 (11:33 +0200)]
[PSDK] Import winuser.rh from wine 6.7
Katayama Hirofumi MZ [Tue, 27 Apr 2021 09:45:24 +0000 (18:45 +0900)]
[CMDUTILS][FC] Forgot to add a line break to IDS_RESYNCH_FAILED
CORE-17500
Piotr Hetnarowicz [Tue, 27 Apr 2021 09:20:56 +0000 (11:20 +0200)]
[FC] Add the Polish translation (#3629)
Omer Itzic Schwartz [Mon, 29 Mar 2021 18:17:36 +0000 (21:17 +0300)]
[JOY] Update Hebrew (he-IL) translation (#3563)
Serge Gautherie [Sat, 10 Apr 2021 02:37:07 +0000 (04:37 +0200)]
[CRT] exp2*.c: Add an explicit type for 'TWO' variable
Addendum to
199adee.
Serge Gautherie [Sat, 10 Apr 2021 02:16:10 +0000 (04:16 +0200)]
[CRT] intrin_x86.h: Fix '_InterlockedIncrement64' copypasta
Addendum to
bc3a471.
Serge Gautherie [Sat, 10 Apr 2021 02:12:48 +0000 (04:12 +0200)]
[CMAKE] config.cmake: Fix 'STEQUAL' typo, in a comment
Addendum to
e90b6bb.
George Bișoc [Mon, 22 Feb 2021 09:43:30 +0000 (10:43 +0100)]
[NTOS:OB] Do not close the handle if it's granted access to ObpAccessProtectCloseBit
As of now the Object Manager private service, ObpCloseHandleTableEntry, looks for OBJ_PROTECT_CLOSE attribute if a handle should not be closed. However, in ObDuplicateObject if an attribute of OBJ_PROTECT_CLOSE is found as it's been filled to the caller (see L2466) this attribute is removed from the attributes list of the new handle and ObpAccessProtectCloseBit access is granted to the newly duplicated object handle.
With that being said ObpCloseHandleTableEntry indiscriminately closes the object handle albeit it shouldn't do so. As a matter of fact in Windows Server 2003 SP2 this service indeed checks for ObpAccessProtectCloseBit flag bit and if the condition is met then it returns STATUS_HANDLE_NOT_CLOSABLE as it should. Therefore we should do the same.
Now NtClose can properly warn the calling thread the object handle can't be closed which fixes a testcase failure within NtDuplicateObject NTDLL APITEST where this function gives handle close protection bit as requested by the caller.
Serge Gautherie [Wed, 9 Sep 2020 01:46:56 +0000 (03:46 +0200)]
[NTOS:MM] MiSetPagingOfDriver(): Add an explicit #if around unreachable code
Hermès Bélusca-Maïto [Mon, 26 Apr 2021 00:21:59 +0000 (02:21 +0200)]
[SYSSETUP] Forgot to update the ROS banner after 2021. Addendum to
b570fac1.
Katayama Hirofumi MZ [Mon, 26 Apr 2021 00:08:06 +0000 (09:08 +0900)]
[FC][TRANSLATION] FC: Enable localization (#3626)
Enable localization on FC (file comparison) command. CORE-17500
Katayama Hirofumi MZ [Sun, 25 Apr 2021 23:52:22 +0000 (08:52 +0900)]
[CMDUTILS][FC] Follow-up of #3622 (
8bf4711)
CORE-17500
Stanislav Motylkov [Sun, 25 Apr 2021 23:06:14 +0000 (02:06 +0300)]
[USETUP] Update Russian (ru-RU) translation
Addendum to
3ee9535e. CORE-17523
Konrad Dybcio [Sun, 11 Apr 2021 01:11:13 +0000 (03:11 +0200)]
[HHPCOMP] Add ARM64/AArch64 types
These were missing... not anymore!
Addendum to
4c7b71ac. CORE-17518
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>