Commit graph

86740 commits

Author SHA1 Message Date
Timo Kreuzer
77b24d0f31 WIP [RTL_APITEST] Add tests for extended context
TODO:
- Split tests
- Make actual code x86/x64 or even common with #ifdefs for details?
2025-02-04 16:28:49 +02:00
Timo Kreuzer
9cc8627f92 WIP [RTL] Add functions for extended context handling 2025-02-04 16:28:49 +02:00
Timo Kreuzer
bf5dc8f9d0 WIP [NTOS:KE/x64] Implement KeSave/RestoreExtendedProcessorState 2025-02-04 16:28:48 +02:00
Timo Kreuzer
11ad55e937 [NTOS:KE/x64] Handle extended processor state on context switch 2025-02-04 16:28:48 +02:00
Timo Kreuzer
0b74b66d75 WIP [NTOS:KE/x64] Implement KiSave/RestoreXState 2025-02-04 16:28:47 +02:00
Timo Kreuzer
bccdb41577 [NTOS:KE/x64] Handle XState allocation on the stack 2025-02-04 16:28:47 +02:00
Timo Kreuzer
c7ba2f5be4 [NTOS:KE/x64] Implement KiInitializeXStateConfiguration 2025-02-04 16:28:47 +02:00
Timo Kreuzer
16dc157802 [XDK][NDK] Add XSTATE hacks 2025-02-04 16:28:46 +02:00
Timo Kreuzer
2f58cd792e HACK WIP [NTOS:KE] Detect AVX, AVX2 and AVX512 2025-02-04 16:28:46 +02:00
Timo Kreuzer
f846244e3a WIP [UMKM_APITEST] Add test for extended state saving 2025-02-04 16:28:46 +02:00
Timo Kreuzer
12924bd447 [SDK] Fix Some CPUID structures 2025-02-04 16:28:45 +02:00
Timo Kreuzer
0695a9e5ad WIP [SDK] Add CPUID_EXTENDED_STATE_SIZE_OFFSET_REGS 2025-02-04 16:28:45 +02:00
Timo Kreuzer
aa46e0f0a7 [RTL/x64] Fix a bug in RtlpUnwindInternal
Check if the stack pointer is out of bounds, before trying to unwind a frame. This will not fix any crashes, but it prevents simple crashes from going into a recursive exception.
2025-02-04 09:00:35 +02:00
Vitaly Orekhov
7215e542b1 [CMAKE] Fix compiling i386 targets via x64 clang-cl 2025-02-03 21:38:02 +02:00
Hermès Bélusca-Maïto
97ea95c80c
[SDK:BUGCODES] Remove inaccurate description of CREATE_DELETE_LOCK_NOT_LOCKED
The description had nothing to do with CREATE_DELETE_LOCK_NOT_LOCKED,
but instead was for EMPTY_THREAD_REAPER_LIST. And even so, descriptions
for both of these BSOD codes have been removed in official MS Windows
2000 and beyond.

Regarding the Thread Ripper:
https://devblogs.microsoft.com/oldnewthing/20231031-00/?p=108944
2025-02-03 17:04:10 +01:00
Václav Zouzalík
9ba2c794db
[SOLITAIRE] Update Czech (cs-CZ) translation (#7451) 2025-02-03 13:11:32 +01:00
Václav Zouzalík
9164e9f85f
[RAPPS] Update Slovak (sk-SK) translation (#7450) 2025-02-03 13:05:03 +01:00
Philippe Morin
2cdcb1f857
[SHELL32] Improve French (fr-FR) translation (#7699)
Change "New" by "Nouveau".
2025-02-03 13:00:03 +01:00
Jose Carlos Jesus
c3408740b0
[SHLWAPI] Remove accelerator keys from Ok and Cancel buttons (#7690) 2025-02-03 12:59:41 +01:00
Jose Carlos Jesus
a07a35d0f6
[SHIMGVW] Update Portuguese (pt-PT) translation (#7688)
And add file header.
2025-02-03 12:59:22 +01:00
Eric Kohl
9c8ef7369f [e1000][ne2000][pcnet][rtl8139] Add missing UpperRange and LowerRange values to network adapter inf files
These values will be used for binding network adapters to protocol drivers. Right now we use hard-coded binding.
2025-02-03 01:15:10 +01:00
Oleg Dubinskiy
a8669e023a [NTOS:IO] Rewrite OpenRegistryHandlesFromSymbolicLink
Also add a new IopOpenOrCreateSymbolicLinkSubKeys routine, which does some work for it.
CORE-17361
2025-02-02 23:30:38 +01:00
Oleg Dubinskiy
d617c8cf32 [NTOS:IO] Implement IoGetDeviceInterfaceAlias
Required by XP/2003 audio stack to be loaded properly.
CORE-17361
2025-02-02 23:30:38 +01:00
Oleg Dubinskiy
6b2f00e70a [KMTESTS:IO] Rewrite IoDeviceInterface kmtest
Add new kernel-mode test for Device Interface functions, based on the patch by Mark Jansen.
The previous one was buggy and crashed even on Windows.
The new one doesn't fail, and works without bugs. Although there is missing one test case (for IoRegisterDeviceInterface).
Also perhaps IoRegister/UnregisterPlugPlayNotification testcases should be keept, if they correspond to Device Interface functions.
CORE-17361
2025-02-02 23:30:38 +01:00
Timo Kreuzer
9b002025d4 [NTOS:KE/x86] Detect more KeFeatureBits 2025-02-01 19:45:21 +02:00
Timo Kreuzer
d09eb6f856 [NTOS:KE/x64] Add detection of SSE 4.2 2025-02-01 19:45:21 +02:00
Timo Kreuzer
be3dde7698 [NTOS] Make KeFeatureBits 64 bit 2025-02-01 19:45:21 +02:00
Whindmar Saksit
77e4217919
[SHELL32] CMenuBand must set ShowWindow value for InvokeCommand (#7695) 2025-02-01 13:50:22 +01:00
Katayama Hirofumi MZ
ee19792605
[SHDOCVW][EXPLORER][RSHELL][SDK] Populate WinList_* stubs (#7691)
Implementing missing features...
JIRA issue: CORE-9368
- Modify shdocvw.spec.
- Add dll/win32/shdocvw/winlist.cpp.
- Add stubs of WinList_* functions.
- Add WinList_* function prototypes
  to <shdocvw_undoc.h>.
- Adapt explorer and rshell to new
  WinList_Init prototype.
2025-02-01 07:14:36 +09:00
Whindmar Saksit
f335322ace
[SHELL32] SEE_MASK_IDLIST should not assume the PIDL is always a FS path (#7693)
CORE-16898 CORE-14177
2025-01-31 21:15:13 +01:00
Whindmar Saksit
6265add147
[SHELL32] Don't close Run dialog on execution failure (#7686)
CORE-19983
2025-01-31 12:52:20 +01:00
Katayama Hirofumi MZ
dddceeb10d
[SHELL32] Load shell icon size from registry (#7683)
Improve usability. Re-trial of #7679 with different approach.
JIRA issue: CORE-12905
- Add ShellSmallIconSize, ShellLargeIconSize, and
  ShellIconBPP global variables in iconcache.cpp.
- Add SIC_GetMetricsValue, SIC_GetLargeIconSize,
  SIC_GetSmallIconSize, and SIC_GetIconBPP helper
  functions in iconcache.cpp.
- Load shell icon size from registry key
  "HKEY_CURRENT_USER\\Control Panel\\Desktop\\WindowMetrics".
- Load icon BPP (bits per pixel) from registry.
- Fix SIC_Initialize and SIC_LoadIcon functions for icon size.
- Fix SHGetFileInfoW function for SHGFI_SHELLICONSIZE flag.
2025-01-31 08:21:05 +09:00
Katayama Hirofumi MZ
909468c4dc
[SDK][SHELL32][SHLWAPI][SHLWAPI_APITEST] Split IShellFolder helpers hack (#7685)
Splitting the hack will improve our code quality.
JIRA issue: N/A
- Add sdk/include/reactos/ishellfolder_helpers.h
  header file.
- Split conflicting code.
2025-01-31 08:15:36 +09:00
Whindmar Saksit
d5ce3d28ab
[RAPPS] Don't display Freeware license string if the type is also Freeware (#7689)
License=Freeware, LicenseType=2 should not display as "Freeware (Freeware)"
2025-01-30 21:14:10 +01:00
Whindmar Saksit
a23db39c8a
[RAPPS] Allow database to override download filename (#7668)
http://example.com/setup.exe?foo=bar needs to use be able to use setup.exe as the
filename.
2025-01-30 17:46:39 +01:00
Katayama Hirofumi MZ
7e52f64044
[SDK] Define IAssociationElement, IAssociationArray etc. (#7678)
Defining missing interfaces for
file association...
JIRA issue: CORE-19278
- Define IID_IAssociationElementOld,
  and IID_IAssociationElement
  interface IDs in <shlguid_undoc.h>.
- Define ASSOCQUERY, and
  IAssociationElementOld in
  <shlwapi_undoc.h>.
- Define IAssociationElement,
  IEnumAssociationElements,
  IAssociationArrayOld, and
  IAssociationArray interfaces in
  <shlobj_undoc.h>.
- Simplify <shlwapi_undoc.h>
  and <shlobj_undoc.h>.
2025-01-30 22:16:46 +09:00
Timo Kreuzer
de3a6706e7 [UCRT] fenv.h: Fix GCC build of _Fenv1 2025-01-30 11:30:32 +02:00
Timo Kreuzer
a438d7c3b8 [UCRT] Add GCC compatible definition of _CRT_STDIO_INLINE
In C99 mode GCC emits global symbols for inline functions, as soon as the compilation unit contains a declaration that marks the function as "extern". A number of functions like printf are implicitly declared as extern by GCC, which seemingly cannot be disabled. This would lead to the inline function being emitted as a global symbol in every compilation unit. Using static inline prevents duplicate symbol errors.
2025-01-30 11:30:32 +02:00
Timo Kreuzer
4ca68ffb1c [UCRT] Make __local_stdio_printf/scanf_options GCC compatible 2025-01-30 11:30:32 +02:00
Timo Kreuzer
bb9392e4e1 [CMAKE] Define _CRT_SUPPRESS_RESTRICT on GCC builds
This prevents the use of __declspec(restrict) in UCRT headers.
2025-01-30 11:30:32 +02:00
Hervé Poussineau
70bf3bb8fa [NTOS:KDBG] Add back 'cregs' command
This command was removed in commit baa47fa5e0
because there was no way to get the CRx registers from a CONTEXT structure.
Previous code was also displaying current GDTR/LDTR and IDT.

Rewrite the code to use KdSystemDebugControl(SysDbgReadControlSpace, ...)
to get CRx, GDTR/LDTR and IDT values just before entering debugger.
2025-01-29 18:25:24 +01:00
Katayama Hirofumi MZ
2f23e70ad5
Revert "[NTUSER] Enable SM_CXICON etc. settings from registry (#7679)" (#7682)
This reverts commit 3b3741c10a of #7679 .
It seems like the shell icon size is not the
system icon size.

The wide string L"Shell Small Icon Size" is detected in
shell32.dll and themeui.dll.
No L"Shell Small Icon Size" in win32k.sys found.
JIRA issue: CORE-12905
2025-01-29 21:34:19 +09:00
Katayama Hirofumi MZ
3b3741c10a
[NTUSER] Enable SM_CXICON etc. settings from registry (#7679)
Improve usability.
JIRA issue: CORE-12905
- Add nIconSize and nSmallIconSize
  values to SPIVALUES structure.
- Load "Shell Icon Size" and "Shell
  Small Icon Size" values from registry.
- Enable changing of SM_CXICON,
  SM_CYICON, SM_CXSMICON, and
  SM_CYSMICON settings.
2025-01-29 20:20:25 +09:00
Justin Miller
a8da29e888
[ACPI] Move CMBATT and COMPBATT out of the acpi directory (#7599)
Move these out of ACPI in preparation for ACPI_NEW so they keep their juicy commit history.
Also both ACPIs can coexist for awhile as I don't see the old driver getting removed anytime soon.
2025-01-29 00:49:35 -08:00
Whindmar Saksit
b35becef2e
[RAPPS] Set working directory for zip generated shortcuts (#7674)
Some applications are broken and assume the working directory is the
same as the .exe directory (xrick etc).
2025-01-29 00:46:11 +01:00
Hervé Poussineau
b9852e83d2
[NTOS:EX] HACK: on livecd, disable security features in NtSystemDebugControl
WinDBG can do some local debugging using 'windbg -kl'. In that case,
WinDBG tries to directly use NtSystemDebugControl. If this function
returns an error, WinDBG extracts a driver from its resources.
WinDBG will send IOCTLs to this driver, and this driver will call
KdSystemDebugControl.

However, on livecd (where %SYSTEMROOT% is read-only), WinDBG is unable
to extract the driver from its resources, and can't use the driver to
call KdSystemDebugControl.

As a work-around, allow all control classes in NtSystemDebugControl
in case of livecd.
WinDBG local debugging now also works on livecd (windbg -kl).
2025-01-28 22:00:56 +01:00
Hervé Poussineau
5547b74717
[NTOS:KD64] Fix freezes on first chance exception when KDBG is enabled and KdIgnoreUmExceptions is TRUE
This fixes the following use case:
- Execute 'kdbgctrl.exe -du'
- Execute 'kdbgctrl.exe -cu'
- See that last command never finishes
2025-01-28 22:00:55 +01:00
Hermès Bélusca-Maïto
7068a790b2
[NTOS:KD64] Add a missing KdEnteredDebugger reset in KdExitDebugger() 2025-01-28 22:00:54 +01:00
Hervé Poussineau
6b89a0da11
[NTOS:EX] Implement NtSystemDebugControl: SysDbgGetKdBlockEnable/SysDbgSetKdBlockEnable 2025-01-28 22:00:53 +01:00
Hervé Poussineau
d4546753f6
[NTOS:EX] Implement NtSystemDebugControl: SysDbgGetKdUmExceptionEnable/SysDbgSetKdUmExceptionEnable 2025-01-28 22:00:53 +01:00