Timo Kreuzer [Fri, 2 Mar 2018 23:13:37 +0000 (00:13 +0100)]
[RTL] Implement RtlRestoreContext
Timo Kreuzer [Fri, 2 Mar 2018 07:06:09 +0000 (08:06 +0100)]
[RTL] Improve RtlCaptureContext
Timo Kreuzer [Fri, 2 Mar 2018 07:02:13 +0000 (08:02 +0100)]
[RTL] Use movaps instead of movdqa in RtlCaptureContext
It does the same thing, but is one byte shorter
Timo Kreuzer [Mon, 6 Jan 2020 09:46:01 +0000 (10:46 +0100)]
[RTL] Improve RtlInitializeContext
Timo Kreuzer [Sun, 5 Jan 2020 23:48:39 +0000 (00:48 +0100)]
?[RTL] Add RtlGetUnwindContext
Timo Kreuzer [Tue, 15 May 2018 12:05:19 +0000 (14:05 +0200)]
[RTL] Implement RtlCaptureNonVolatileContextPointers and RtlSetUnwindContext
Instead of only checking for the TargetFrame, also check for a mode change, i.e. RIP went from kernel to user, in which case the target frame was not reached yet, because it was too large, but processing can't continue here.
Timo Kreuzer [Wed, 7 Mar 2018 14:38:24 +0000 (15:38 +0100)]
[RTL] Fix RtlWalkFrameChain and wrap it in SEH
Timo Kreuzer [Fri, 2 Mar 2018 06:48:34 +0000 (07:48 +0100)]
FIXME: Implement RtlRaiseException in asm (split into asm and C? All in C should work?)
Timo Kreuzer [Mon, 9 Mar 2020 20:30:51 +0000 (21:30 +0100)]
+[RTL] handle multiple nested blocks
Timo Kreuzer [Thu, 1 Mar 2018 21:07:57 +0000 (22:07 +0100)]
[RTL] Implement RtplUnwindInternal and wrap RtlUnwindEx and RtlDispatchException around it
Based on the great description in this blog article: http://www.nynaeve.net/?p=106
A few things are done differently
* Add support for version 2 unwind info
* Implement UnwindOpSlots() and use it (based on https://github.com/dotnet/coreclr/blob/master/src/unwinder/amd64/unwinder_amd64.cpp)
* Fix handling of UWOP_PUSH_MACHFRAME
Timo Kreuzer [Thu, 1 Mar 2018 13:14:13 +0000 (14:14 +0100)]
[RTL] Improve RtlVirtualUnwind
Timo Kreuzer [Thu, 1 Mar 2018 13:43:05 +0000 (14:43 +0100)]
[RTL] Halfplement RtlDispatchException
Timo Kreuzer [Thu, 1 Mar 2018 13:13:01 +0000 (14:13 +0100)]
[RTL] Move exception handling code to except.c
Timo Kreuzer [Wed, 7 Mar 2018 11:03:51 +0000 (12:03 +0100)]
[RTL] Improve / fix the SList code
Don't push a register in the middle of a an asm function. Instead add a proper prolog and store rbx in a home param slot.
Timo Kreuzer [Thu, 1 Mar 2018 13:22:18 +0000 (14:22 +0100)]
[CRT] Halfplement __C_specific_handler
Timo Kreuzer [Mon, 29 Jan 2018 17:41:18 +0000 (18:41 +0100)]
[CRT] Remove the x64 asm version of sqrt from build
Timo Kreuzer [Tue, 24 Dec 2019 17:29:08 +0000 (18:29 +0100)]
[FREELDR][NTOS] Fix KIP0PCRADDRESS to be within the HAL region
This allows to use MI_WRITE_VALID_PTE in MmCreateVirtualMappingUnsafe instead of using InterlockedExchange.
Timo Kreuzer [Sat, 26 Oct 2019 14:44:57 +0000 (16:44 +0200)]
WIP [NTOS:KE] Improve KiGeneralProtectionFaultHandler
Timo Kreuzer [Tue, 15 May 2018 12:08:48 +0000 (14:08 +0200)]
[NTOS] Fix PspGetOrSetContextKernelRoutine (WIP)
Timo Kreuzer [Mon, 9 Mar 2020 06:01:05 +0000 (07:01 +0100)]
[NTOS:KE] Add IRQL checks and fix KiInitiateUserApc
Timo Kreuzer [Fri, 9 Mar 2018 22:55:54 +0000 (23:55 +0100)]
[NTOS:KE] Improve KeConnectInterrupt
Timo Kreuzer [Tue, 15 May 2018 12:06:27 +0000 (14:06 +0200)]
[NTOS:KE] Implement KiSetTrapContext
Timo Kreuzer [Thu, 8 Mar 2018 11:23:45 +0000 (12:23 +0100)]
[NTOS:KE] Improve KiSystemCallEntry64
Timo Kreuzer [Wed, 21 Mar 2018 09:33:31 +0000 (10:33 +0100)]
[NTOS:KE] Fix stack alignment issues (TODO: review double fault stack)
Timo Kreuzer [Sun, 23 May 2021 12:50:10 +0000 (14:50 +0200)]
[NTOS:KE] Remove duplicated EFlag definitions
Timo Kreuzer [Sat, 24 Mar 2018 10:06:18 +0000 (11:06 +0100)]
[ASM] Clear interrupt flag in ExitTrap before returning
Timo Kreuzer [Sun, 23 May 2021 11:04:18 +0000 (13:04 +0200)]
HACK: Remove an assert that fails if we don't do page table refcounting
Timo Kreuzer [Fri, 3 Jan 2020 16:10:58 +0000 (17:10 +0100)]
HACK: disable timer breakpoint
Timo Kreuzer [Thu, 8 Mar 2018 23:04:54 +0000 (00:04 +0100)]
HACK: [PSDK] Hack DLGWINDOWEXTRA to be 48 instead of 30
In the Windows SDK it's set to 48 when _MAC is defined, but not when _WIN64 is defined. 30 is definately too small, we need at least 32. Probably this value is not really used on Windows.
https://stackoverflow.com/questions/
2376478/whats-with-ifdef-mac-in-windows-header-files
Timo Kreuzer [Thu, 30 May 2019 17:21:45 +0000 (19:21 +0200)]
HACK? [EXPLORER] Do not initialize m_Position to -1 to stop crashing on x64
Timo Kreuzer [Fri, 3 Jan 2020 16:13:17 +0000 (17:13 +0100)]
HACK [BROWSEUI] Comment out broken code
Timo Kreuzer [Thu, 10 May 2018 19:37:30 +0000 (21:37 +0200)]
TODO [NTOS] In RtlPcToFileHeader don't handle user mode images (add a kmtest)
Timo Kreuzer [Wed, 7 Mar 2018 14:37:34 +0000 (15:37 +0100)]
SHARED: [NTOS:MM] Check whether PTE is accessible in MiDeleteSystemPageableVm
This is required for x64
Timo Kreuzer [Sun, 2 Feb 2020 08:52:40 +0000 (09:52 +0100)]
[VGADDI] Fix initialization
Timo Kreuzer [Mon, 5 Oct 2020 13:43:47 +0000 (15:43 +0200)]
[USBPORT] Fix unload
Timo Kreuzer [Sun, 23 May 2021 15:01:30 +0000 (17:01 +0200)]
[NTOS:MM] MiIsPdeForAddressValid is NOT an INIT function!
Timo Kreuzer [Sun, 23 May 2021 12:02:09 +0000 (14:02 +0200)]
[WIN32K] Fix wrong calculation in DIB_32BPP_BitBltSrcCopy
Timo Kreuzer [Sun, 23 May 2021 11:25:59 +0000 (13:25 +0200)]
[NTOS:CC] Fix use of unintialized variable (caught by RTC1)
Jérôme Gardou [Fri, 21 May 2021 08:49:53 +0000 (10:49 +0200)]
[NTOS:KE] Do not call MmSetPageProtect for the Pentium Lock Errata
CORE-17589
Mark Jansen [Wed, 19 May 2021 20:52:49 +0000 (22:52 +0200)]
[USBHUB] Mute debug spam
Mark Jansen [Wed, 19 May 2021 20:52:10 +0000 (22:52 +0200)]
[USBCCGP] Mute debug spam
Jérôme Gardou [Wed, 19 May 2021 22:19:43 +0000 (00:19 +0200)]
Revert "[NTOS:MM] Add private pages to process working sets"
This is so full of bugs, I don't know what to say.
This reverts commit
374fef2d59f39b714ff3152f1590f6af843c8bf5.
Jérôme Gardou [Wed, 19 May 2021 21:53:57 +0000 (23:53 +0200)]
[NTOS:MM] Move software PTE specific check after it's been tested for being one
Caught by The_DarkFire, only soul on earth actually *running* our SMP kernel
Jérôme Gardou [Wed, 19 May 2021 20:20:38 +0000 (22:20 +0200)]
[NTOS:MM] Do not map Process Working Set List in kernel space
This is not needed anymore and causes havoc on amd64
Jérôme Gardou [Tue, 18 May 2021 21:07:07 +0000 (23:07 +0200)]
[RTL] SAL-annotate RtlUnicodeStringToCountedOemString
Brought to you by Hermès
Jérôme Gardou [Tue, 18 May 2021 19:16:48 +0000 (21:16 +0200)]
[NLS] Use files provided by Microsoft to generate most of our NLS files
Instead of binary blobs coming from who-knows-where
CORE-17571
Jérôme Gardou [Tue, 18 May 2021 15:10:41 +0000 (17:10 +0200)]
[TXT2NLS] Rewrite the tool
With support for multibyte codepages & glyph tables
CORE-17571
Jérôme Gardou [Tue, 18 May 2021 07:27:52 +0000 (09:27 +0200)]
[SDK] Turn txt2nls into a host tool
Jérôme Gardou [Mon, 17 May 2021 15:40:26 +0000 (17:40 +0200)]
[RTL] Properly truncate 8dot3 names when using a MultiByte OEM code page
CORE-17571
Jérôme Gardou [Mon, 17 May 2021 14:14:26 +0000 (16:14 +0200)]
[RTL] Fix RtlIsValidOemCharacter implementation for Multibyte code pages
CORE-17571
Jérôme Gardou [Mon, 17 May 2021 14:10:48 +0000 (16:10 +0200)]
[RTL] Properly implement RtlUnicodeToOemN
CORE-17571
Jérôme Gardou [Mon, 17 May 2021 10:07:26 +0000 (12:07 +0200)]
[NTDLL_APITEST] Add some tests for RtlUnicodeToOemN
CORE-17571
Jérôme Gardou [Wed, 12 May 2021 21:31:20 +0000 (23:31 +0200)]
[NTDLL_APITEST] Add some tests for RtlUnicodeStringToCountedOemString
CORE-17571
Jérôme Gardou [Tue, 18 May 2021 21:00:58 +0000 (23:00 +0200)]
[NTDLL_APITEST] Add tests for RtlxUnicodeStringToAnsiSize & RtlxUnicodeStringToOemSize
CORE-17571
Jérôme Gardou [Tue, 18 May 2021 21:00:38 +0000 (23:00 +0200)]
[NTDLL_APITEST] Add some Japanese to RtlGenerate8dot3Name test case
CORE-17571
Dmitry Borisov [Wed, 12 May 2021 14:15:42 +0000 (20:15 +0600)]
[XDK] Update the prototype of IO_COMPLETION_ROUTINE
Dmitry Borisov [Mon, 10 May 2021 19:45:01 +0000 (01:45 +0600)]
[NTOS:PO] Check for optional parameter in the completion routine
The CompletionFunction parameter is really optional.
This fixes a bugcheck caused by shutdown with IDE driver stack.
CORE-17401
Jérôme Gardou [Wed, 19 May 2021 12:13:51 +0000 (14:13 +0200)]
[CMAKE] Allow compiling amd64 port with GCC on Windows
Dedicated to Daniel
Serge Gautherie [Tue, 8 Sep 2020 02:28:50 +0000 (04:28 +0200)]
[GITHUB] build.yml: Remove superfluous '${{github.workspace}}'
Serge Gautherie [Tue, 8 Sep 2020 02:28:50 +0000 (04:28 +0200)]
[GITHUB] build.yml: Sync' 'if:' syntax
Addendum to
3644f3e.
Jérôme Gardou [Tue, 18 May 2021 22:12:05 +0000 (00:12 +0200)]
[NTOS:MM] Fix build on whatever MSVC version triggered this
There is no real need to put static or extern "C" function in a special namespace anyway
Jérôme Gardou [Tue, 30 Mar 2021 14:21:11 +0000 (16:21 +0200)]
[NTOS:MM] Add private pages to process working sets
Jérôme Gardou [Tue, 11 May 2021 10:03:52 +0000 (12:03 +0200)]
[NTOS:MM] Relax requirements with regards to PFN lock when adding & removing entries in Working Sets
Once a page is used, holding the WS lock is enough until you want to free it.
Jérôme Gardou [Tue, 11 May 2021 14:14:03 +0000 (16:14 +0200)]
[NTOS] Introduce KiQueuedSpinLockGuard, similar to std::lock_guard for Queued Spin lock
And use it in Mm as MiPfnLockGuard
Stanislav Motylkov [Tue, 18 May 2021 17:22:22 +0000 (20:22 +0300)]
[INF] Remove remnants of XboxVmp driver which has its own INF file
Dmitry Borisov [Wed, 12 May 2021 20:17:27 +0000 (02:17 +0600)]
[PC98VID] Fix MSVC 2015 build for PC-98 target
Addendum to
3adf45086743d5f075e4270af7af64017eb01d63
Also isolate the constant structures into page section
and restore the previous sections for start IO and entrypoint routines.
Stanislav Motylkov [Tue, 18 May 2021 11:24:10 +0000 (14:24 +0300)]
[WIN32SS] Always build all video miniport drivers
But include registry changes and INF files depending on SARCH variable.
This commit is expected to uncover pc98vid build error on MSVC 2015.
Addendum to
8c475e4. CORE-17529
Stanislav Motylkov [Tue, 18 May 2021 11:18:01 +0000 (14:18 +0300)]
[PC98VID] Use unique target name but rename as vga.sys
This allows building pc98vid driver without conflict with vga_new.
Piotr Hetnarowicz [Wed, 12 May 2021 05:32:55 +0000 (07:32 +0200)]
[DISK_NEW] Add Polish (pl-PL) translation (#3660)
Addendum to
f144b8c1 and
da4ee18c. CORE-17129
Piotr Hetnarowicz [Wed, 12 May 2021 05:20:18 +0000 (07:20 +0200)]
[CDROM_NEW] Add Polish (pl-PL) translation (#3659)
Addendum to
83b85e21. CORE-17129
Co-authored-by: Adam Słaboń <asaillen@protonmail.com>
Serge Gautherie [Tue, 8 Sep 2020 02:28:50 +0000 (04:28 +0200)]
[LOCALSPL] InitializePrinterDrivers(): Fix LocalGetPrinterDriverDirectory) call
Fix Clang-Cl
'...\printerdrivers.c(97,98): warning: variable 'cbBuf' is uninitialized when used here [-Wuninitialized]'
Addendum to
62c4b82.
CORE-14306
George Bișoc [Sun, 16 May 2021 15:18:29 +0000 (17:18 +0200)]
[NTOS:SE] Capture the groups length when creating a token
The groups length is already returned by SeCaptureSidAndAttributesArray, it doesn't make sense to not use it.
Hermès Bélusca-Maïto [Sat, 15 May 2021 17:38:19 +0000 (19:38 +0200)]
[MORE] Add code to load the current 'command extensions' enable status from the registry.
Joachim Henze [Sat, 15 May 2021 01:44:48 +0000 (03:44 +0200)]
[SHELL32] *.rc Whitespace fixes just, no functional change
Motivation to fix them in master is to avoid having to also port them back
when porting back nearby code.
Serge Gautherie [Fri, 5 Oct 2018 16:49:17 +0000 (18:49 +0200)]
[CMAKE] winetests/: Move '/wd4334' to 3 sub-modules only
Addendum to
42d2d5e.
Jérôme Gardou [Fri, 7 May 2021 10:52:37 +0000 (12:52 +0200)]
[GITHUB] Make sure things get compiled with MSVC 2015 & 2017
Also unify again ISO artifacts and upload debug symbols
for MSVC builds while we're at it
Also don't fail early in case things go wrong, which helps fixing build errors in one go
instead of incremental trial & error
Jérôme Gardou [Tue, 11 May 2021 15:13:14 +0000 (17:13 +0200)]
[REACTOS] Addendum to
5c7ce4475e246560d1622b8cc60dc603e3955f66 - Fix MSVC 2015 build
Put data into PAGEDATA or INITDATA sections
Keep section declaration for prototypes
CORE-17540
Serge Gautherie [Tue, 8 Sep 2020 02:28:50 +0000 (04:28 +0200)]
[CMAKE] winetests/: Move '/wd4101' to kernel32/ only
Also add matching remove_target_compile_option().
Addendum to
42d2d5e.
Jérôme Gardou [Thu, 6 May 2021 16:32:44 +0000 (18:32 +0200)]
[KDGDB] Implement TIB address retrieval
George Bișoc [Sat, 8 May 2021 15:25:33 +0000 (17:25 +0200)]
[KMTESTS:SE] Remove erroneous tests regarding impersonation level
These tests didn't make much sense. The captured token from the subject context is not an impersonation token and both Windows and ReactOS ultimately fail on those tests.
Katayama Hirofumi MZ [Tue, 11 May 2021 05:37:49 +0000 (14:37 +0900)]
[CMDUTILS][WHERE] Implement WHERE command (#3642)
WHERE is a Windows command that finds the file location from a executable file name. This PR implements it in ReactOS. CORE-17443
Jérôme Gardou [Mon, 10 May 2021 17:09:53 +0000 (19:09 +0200)]
[NTOS:PS] Use KD routine to safely read memory from thread stack
Should fix a crash when hitting TAB+(Whatever I typed that triggerred this)
Dmitry Borisov [Thu, 8 Apr 2021 13:43:30 +0000 (19:43 +0600)]
[PCIIDE] Make the resource section not discardable. CORE-17401 (#3594)
[PCIX] Make the resource section not discardable.
These drivers need to be able to access their message resources at any time.
Dmitry Borisov [Thu, 8 Apr 2021 14:50:51 +0000 (20:50 +0600)]
[PEFIXUP] Fixup of resource sections in GCC builds. (#3594)
Make resource sections discardable for kernel-mode drivers and DLLs.
George Bișoc [Sun, 9 May 2021 16:17:53 +0000 (18:17 +0200)]
[NDK][NTOS:SE] Fix the member offsets in TOKEN, again...
The member offsets in comments were wrong again, whoops....
George Bișoc [Sun, 9 May 2021 15:34:02 +0000 (17:34 +0200)]
[NDK][NTOS:SE] Add the missing "LogonSession" member to TOKEN structure
And also fix the wrong member offsets in comments. The said offset values are based upon the ones retrieved with WinDBG.
Hermès Bélusca-Maïto [Sun, 11 Apr 2021 00:30:15 +0000 (02:30 +0200)]
[PEFIXUP] Add support for overriding the attributes of specific PE sections. (#3598)
Use a syntax identical to the one from the EDITBIN tool:
--section:name[=newname][,[[!]{CDEIKOMPRSUW}][A{1248PTSX}]]
https://docs.microsoft.com/en-us/cpp/build/reference/section-editbin?view=msvc-160
Mark Jansen [Sun, 25 Oct 2020 20:19:06 +0000 (21:19 +0100)]
[RAPPS] Restore event logging of install/uninstall actions
Mark Jansen [Mon, 15 Feb 2021 19:11:49 +0000 (20:11 +0100)]
[RTL] Implement RtlGetLengthWithoutLastFullDorOrNtPathElement
CORE-17248
Mark Jansen [Mon, 15 Feb 2021 19:10:59 +0000 (20:10 +0100)]
[RTL] Implement RtlpApplyLengthFunction
CORE-17248
George Bișoc [Sat, 8 May 2021 16:11:42 +0000 (18:11 +0200)]
[NTOS:SE] Add further remarks in SeQueryInformationToken
Explicitly mention under remarks that some classes are not implemented for that function, for documentation purposes. No code changes.
Stanislav Motylkov [Sat, 8 May 2021 15:36:15 +0000 (18:36 +0300)]
[SDBINST] Minor quick fixes after merge
Mark Jansen [Wed, 7 Apr 2021 18:21:32 +0000 (20:21 +0200)]
[FONTEXT_APITEST] Test more cases for GetDisplayNameOf
Mark Jansen [Sat, 8 May 2021 13:49:28 +0000 (15:49 +0200)]
[SDBINST] Restore file attributes before deleting
Max Korostil [Tue, 12 Jan 2021 07:48:20 +0000 (10:48 +0300)]
[SDBINST] Add remove Layers call
Max Korostil [Mon, 26 Oct 2020 20:58:52 +0000 (23:58 +0300)]
[SDBINST] Update according to review
Replace macroses with unicode functions
Minor fixes
Replace dynamic allocations
Add GUID string validation
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Mark Jansen <mark.jansen@reactos.org>
Max Korostil [Sun, 25 Oct 2020 01:03:34 +0000 (04:03 +0300)]
[SDBINST] Add uninstall by guid and name
Max Korostil [Thu, 22 Oct 2020 19:45:20 +0000 (22:45 +0300)]
[SDBINST] Add uninstall option
Max Korostil [Wed, 21 Oct 2020 20:11:35 +0000 (23:11 +0300)]
[SDBINST] Add sdbinst uility.
It can install sdb to the system
Max Korostil [Wed, 21 Oct 2020 20:10:43 +0000 (23:10 +0300)]
[APPHELP] Add api functions declaration.
Add define