Commit graph

79108 commits

Author SHA1 Message Date
Jérôme Gardou 774a4c703f [NTOS/MM] Misc fixes
Purge data section object before creating an image mapping
Zero-out the tail of the page after reading from file
Properly map page as read-only when paging-in a COW memory map.
2021-02-03 09:41:22 +01:00
Jérôme Gardou 0933337404 [NTOS/MM] Do not dirtify section pages for system-space maps
Cc does it for itself.
2021-02-03 09:41:22 +01:00
Jérôme Gardou d440434a8e [NTOS/MM] Do not error when FS returns STATUS_END_OF_FILE for paged read.
Also remove a seemingly invalid ASSERT
2021-02-03 09:41:22 +01:00
Jérôme Gardou b46173edaf [NTOS/MM] DO not assert when being passed invalid parameters in MmCreateSection 2021-02-03 09:41:22 +01:00
Jérôme Gardou ba49c39041 [NTOS/MM] Assert there are no RMAP left before freeing the page 2021-02-03 09:41:22 +01:00
Jérôme Gardou d932bdb950 [NTOS:MM] Fix locking when paging out 2021-02-03 09:41:22 +01:00
Jérôme Gardou d8cdb89fb0 [NTOSKRNL] Overhaul Cc and Mm relationship
Previously, when creating a file section, Mm requested Cc to cache the file, then Cc would request pages from Mm, then Mm would request them back to serve its file-mapping role
Now, Mm does it all by itself. If file cahcing is requested by the FS driver, then Cc creates a file mapping and uses that to serve its purpose.

This is a rewrite of Cc
2021-02-03 09:41:22 +01:00
Jérôme Gardou e4047d1521 [NTOS/MM] Introduce MmArePagesResident and MmMakePagesResident 2021-02-03 09:41:22 +01:00
Jérôme Gardou f1631b44e1 [NTOS/MM] Introduce MmMapViewInSystemSpaceEx 2021-02-03 09:41:22 +01:00
Jérôme Gardou 4f6fd6c42b [NTOS/MM] Infer that the Memory Area is an image mapping from its VAD node 2021-02-03 09:41:21 +01:00
Jérôme Gardou c3bd70cfd1 [NTOSKRNL/MM] Fix a few wine tests 2021-02-03 09:41:21 +01:00
Jérôme Gardou 4abda863ce [NTOSKRNL/MM] Reduce use of MiIsRosSectionObject 2021-02-03 09:41:21 +01:00
Jérôme Gardou b7d988ae5b [NTOSKRNL] Get rid of MM_ROS_SECTION_OBJECT 2021-02-03 09:41:21 +01:00
Jérôme Gardou 8b98ff66ea [NTOSKRNL] Store File Object in the segment instead of Section object 2021-02-03 09:41:21 +01:00
Jérôme Gardou e980efebd4 [NTOSKRNL] Store the MM_IMAGE_SECTION_OBJECT pointer in SECTION::Segment 2021-02-03 09:41:21 +01:00
Jérôme Gardou c6a87f28bf [NTOSKRNL] Get rid of MEMORY_AREA::Protect
Use the VAD node instead
2021-02-03 09:41:21 +01:00
Jérôme Gardou c9f924940a [NTOSKRNL/MM] Get rid of useless members of MEMORY_AREA struct 2021-02-03 09:41:21 +01:00
Jérôme Gardou defbf63416 [NTOSKRNL] Use PSECTION struct where possible 2021-02-03 09:41:21 +01:00
Jérôme Gardou 462d9a0974 [NTOSKRNL] Unload the cargo: We only use tiny bits of "NEWCC" 2021-02-03 09:41:21 +01:00
Jérôme Gardou 25722e647e [NTOSKRNL] Embed a SECTION struct inside MM_ROS_SECTION_OBJECT 2021-02-03 09:41:21 +01:00
Jérôme Gardou c3ec5d801c [NTOSKRNL] Disable more unused code 2021-02-03 09:41:21 +01:00
Jérôme Gardou 10ac04ff6e [NTOSKRNL] Get rid of ROS_SECTION_OBJECT::AllocationAttributes in favor of MM_SECTION_FLAGS 2021-02-03 09:41:21 +01:00
Jérôme Gardou 819406ac97 [NTOSKRNL] Get rid of pagefile-backed sections support in legacy Mm 2021-02-03 09:41:21 +01:00
Jérôme Gardou 7afecee5eb [NTOSKRNL] Rename MM_ROS_SECTION_OBJECT:SectionPageProtection to InitialPageProtection 2021-02-03 09:41:21 +01:00
Jérôme Gardou 54c760574b [NTOSKRNL] Rename MM_ROS_SECTION_OBJECT:MaximumSize to SizeOfSection
For consistency with the SECTION struct
2021-02-03 09:41:21 +01:00
Jérôme Gardou 073ec9b0d4 [NTOSKRNL][NDK] Get rid of SECTION_OBJECT typedef
We will use the more recent SECTION (already used in ARM3) and this will avoid confusions
2021-02-03 09:41:21 +01:00
Jérôme Gardou 9b74e5ed4f [NTOSKRNL] Do not compile unused code 2021-02-03 09:41:21 +01:00
Václav Zouzalík 6d8aafb6ce [THEMES] Update Czech (cs-CZ) translation 2021-02-03 07:05:57 +01:00
Tibor Lajos Füzi 2608f280ea [TRANSLATION] update hungarian translation of cpl/timedate, cpl/main, cpl/desk 2021-02-03 06:52:45 +01:00
Jérôme Gardou fe5e23e470 [KMTESTS:NTOS_CC] Fix a test format 2021-02-02 10:18:52 +01:00
Jérôme Gardou 857dd4ae36 [NTOS:MM] Properly handle the 1-offset of paging files 2021-02-02 10:17:28 +01:00
Jérôme Gardou a46ee7dafe [KMTEST:NTOS_CC] Fix buffer size calculation 2021-02-02 10:15:19 +01:00
Serge Gautherie fa47d6f852 [CMIPCI][DOC] Fix 4 DriverVer values
And add entry to '3rd Party Files.txt'.

Addendum to 4b4d95d (r39827) and ee4368d (r58644).
2021-02-02 01:56:50 +03:00
Serge Gautherie c2a83d56a0 [GREEN][INF] Fix format of 3 DriverVer date values
GetVersionInformationFromInfFile() expects a 10-character date.
2021-02-02 01:56:50 +03:00
George Bișoc 1903b568b6
[NTOS:SE] Implement SECURITY_TOKEN_PROXY_DATA, SECURITY_TOKEN_AUDIT_D… (#3432)
ProxyData and AuditData are pointers to an arbitrary data, which instead, they should point to their respective data structures. This serves as preparation for SepFreeProxyData and SepCopyProxyData functions implementations in the future (regarding the proxy data stuff specifically).

For further details:
https://www.vergiliusproject.com/kernels/x86/Windows%202003/SP2/_TOKEN
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_AUDIT_DATA.html
https://www.nirsoft.net/kernel_struct/vista/SECURITY_TOKEN_PROXY_DATA.html
https://www.nirsoft.net/kernel_struct/vista/PROXY_CLASS.html
2021-02-02 01:55:42 +03:00
Stanislav Motylkov 34914ca220
[INF] Fix the date in DriverVer directive for HAL
CORE-17212
2021-02-02 01:54:06 +03:00
Stanislav Motylkov df0261e799
[SCSIPORT] Append GEN_SCSIADAPTER compatible ID for legacy adapters (#3441)
Fixes UniATA root SCSI devices detection in the Device Manager.

Based on the description of GEN_SCSIADAPTER from Windows pnpscsi.inf:
- https://community.osr.com/discussion/41967/installing-isa-scsi-miniport-driver-through-f6-on-fresh-install-of-windows-2000-problem
- https://chat.reactos.org/reactos/pl/qii1w36wu7yrxyukh9b5dzwnje
- https://chat.reactos.org/reactos/pl/f5tanc9nfjdb5m17nhrq33994a

CORE-17398
2021-02-02 01:38:06 +03:00
George Bișoc e4dd39f1a9
[BOOTDATA] Link the Accessibility Utility Manager for LiveCD builds (#3443) 2021-02-02 01:37:37 +03:00
Joachim Henze d0c237a6ab [SYSDM] Fix sunrise regression CORE-17451
This fixes a regression with the AlphaBlending on single left-click
on the ros logo in general tab.
That regression was introduced by
0.4.15-dev-178-g d635ce0cc0

So it can be seen as an addendum to (#2707).

We luckily did not have any affected releases yet.
2021-02-01 21:13:59 +01:00
Hervé Poussineau bfedf9760c [FREELDR] Disable SSE instructions for GCC x64
Even if all x64 CPUs can handle SSE instructions, prevent GCC x64 to
generate them, as FreeLoader is not ready to handle them.
2021-02-01 19:57:12 +01:00
Hervé Poussineau bbf7b5b72a [CRT/x64] Correctly implement fabs for GCC
Note that MSVC does not recognize 'fabs' as a valid label name.
See fee844b6ff and 2f7cf157d8
2021-02-01 19:57:12 +01:00
Hervé Poussineau 349e0ddde8 [PSEH] Fix test on non-existent variable, so GCC x64 now always uses native SEH instead of PSEH 2021-02-01 19:57:12 +01:00
Jérôme Gardou 158235bdd5 [NTOS:KE] Fix EIP only when the breakpoint is a break
Fixes ntdll:exception winetest crash
ROSTESTS-80
2021-02-01 16:39:39 +01:00
Joachim Henze 2a321f6e3f [SYSDM] Fix a glitch in ja-JP that was introduced by (#3442)
Remove an unintended control that was
introduced by 0.4.15-dev-1676-g 50a01ed170
2021-02-01 16:14:39 +01:00
Serge Gautherie 511134ec91 [CMIPCI] Compile it as NT5.2, not NT6.0
Addendum to ba2ab59 (r61334).
2021-02-01 09:43:31 +01:00
Jérôme Gardou d712c895fd [RTL] Fix a typo & remove useless cast 2021-02-01 09:09:19 +01:00
Colin Finck 1509f0e536 [SYSDM] Increase label width for all languages 2021-02-01 07:32:14 +01:00
Colin Finck 50a01ed170 [SYSDM] Introduce KERNEL_VERSION_REVISION_RC and align system uptime string 2021-02-01 07:32:14 +01:00
Colin Finck 39b6643030 [SYSDM] Move IDS_DEVS to the LANG_NEUTRAL resources to deduplicate it.
It should still be updated at some point, maybe automatically, but this should serve us well for the moment.

Use UTF-8 for the deduplicated string.
2021-02-01 07:32:14 +01:00
Colin Finck 1adbae9bae [SYSDM] Restore actual fix from 9a0246ef65 2021-02-01 07:32:14 +01:00