Commit graph

79116 commits

Author SHA1 Message Date
Jérôme Gardou 70c62aa2c9 [NTOS:CC] Fix Vacb size usage & check 2021-02-03 09:41:22 +01:00
Jérôme Gardou c74cbf0c0b [NTOS/CC] Be more precise when notifying Mm about dirty pages 2021-02-03 09:41:22 +01:00
Jérôme Gardou c295d6b229 [NTOS:CC] Fix releasing VACB when an exception is raised in CcZeroData & CcCopyWrite 2021-02-03 09:41:22 +01:00
Jérôme Gardou 7f47f03296 [NTOS:CC] Rewrite the non-cached path of CcZeroData 2021-02-03 09:41:22 +01:00
Jérôme Gardou 36e18aab35 [NTOS:CC] Remove unused functions 2021-02-03 09:41:22 +01:00
Jérôme Gardou 7dab3583cc [NTOS/MM] Force flushing when the page is dirtified in user mode 2021-02-03 09:41:22 +01:00
Jérôme Gardou 91edefa11e [NTOS:MM] Do not limit ourselves in reading or writing the file 2021-02-03 09:41:22 +01:00
Jérôme Gardou c05f3d8d1c [FASTFAT_NEW] Enable the driver 2021-02-03 09:41:22 +01:00
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