Timo Kreuzer
2dade10d54
[NTOS] Fix 64 bit warnings
2018-01-14 13:54:14 +01:00
Pierre Schweitzer
371aba1abe
[NTOSKRNL] When mapping data in CcMapData(), don't truncate offset to ULONG.
...
This would affect reads/writes on large volumes where offset is higher than what a ULONG can hold.
This really nasty bug was hitting CcMapData() but also CcPinRead() (due to the nature of its implementation)
and both were returning garbage data under certain circumstances with Ext2Fsd.
This should (I hope!) help some other FSDs to work better in ROS.
CORE-12456
2018-01-13 21:30:37 +01:00
Mark Jansen
7b398514f1
[NTOS] Limit the spam from NtNotifyChangeMultipleKeys.
...
CORE-13125
2018-01-08 22:24:54 +01:00
Timo Kreuzer
1014d50a4b
[NTOS:MM] Pass FaultCode to MiDispatchFault
2018-01-06 18:20:24 +01:00
Timo Kreuzer
3f426aabde
[NTOS:MM] Mark local functions with static
2018-01-06 18:20:24 +01:00
Timo Kreuzer
a00378a1a1
[NTOS:MM] Add support for NX page-faults
2018-01-06 18:20:24 +01:00
Timo Kreuzer
4d043aa05e
[NTOS:MM] Make use of FaultCode and MI_IS_NOT_PRESENT_FAULT and MI_IS_WRITE_ACCESS macros in MmArmAccessFault.
2018-01-06 18:20:24 +01:00
Timo Kreuzer
d5c71429d7
[NTOS:MM] Pass The FaultCode to MmArmAcceessFault as well and translate it there to what was declared as "StoreInstruction"
...
No functional changes.
2018-01-06 18:20:24 +01:00
Timo Kreuzer
3021c2d571
[NTOS:MM] Pass page fault code to MmAccessFault
...
Note: before we had a BOOLEAN parameter called StoreInstruction, but in reality it was not specifying whether the fault was from a store store instruction, but whether it was an access violation rather than a page-not-present fault. On x86 without PAE there are only 2 kinds of access violations: (1) Access of a kernel mode page from user mode, which is handled early and (2) access of a read-only (or COW) page with a writing instruction. Therefore we could get away with this, even though it relied on the wrong assumption that a fault, which was not a page-not-present-fault, was automatically a write access. This commit only changes one thing: we pass the full fault-code to MmAccessFault and handle the rest from there in exactly the same way as before. More changes are coming to make things clear.
2018-01-06 18:20:24 +01:00
Colin Finck
f5d366b200
[NTOS:CM] Improve code in cmsysini.c ( #216 )
...
Based on an original patch by Timo Kreuzer, with modifications by me to adapt it to latest HEAD and use a single exit path through the Cleanup label. This reliably frees all allocated handles.
The original code returns STATUS_SUCCESS for many cases. This has been preserved.
In the future, it should be checked though whether returning success is appropriate for all these cases.
CORE-6844
2018-01-06 13:27:41 +01:00
Timo Kreuzer
f555c102b7
[NTOS:EX] Don't dereference ExpCritSecOutOfMemoryEvent when it was never referenced.
2018-01-04 21:05:10 +01:00
Katayama Hirofumi MZ
a8bd06be98
[NTOS:KDBG] Fix DPRINT format specifier in KdPortInitializeEx. CORE-14174
2018-01-04 11:37:50 +01:00
Timo Kreuzer
d17812f933
[NTOS:MM] Use MiResolveDemandZeroFault instead of MiDispatchFault
2018-01-03 23:07:19 +01:00
Timo Kreuzer
d4765fe366
[NTOS:MM] Implement resolving PXE/PPE page table demand zero faults
2018-01-03 23:07:19 +01:00
Timo Kreuzer
2eff510074
[NTOS:MM] Increment Prcb->MmDemandZeroCount while holding the Pfn lock
2018-01-03 23:07:19 +01:00
Timo Kreuzer
1240ed9e18
[NTOS/MM] Add Protection parameter to MiResolveDemandZeroFault
2018-01-03 23:07:19 +01:00
Hermes Belusca-Maito
b2be558e61
[NTOS:INBV] Simplify a little bit the BootLogoFadeIn() function
...
- Use KeDelayExecutionThread() instead of KeStallExecutionProcessor().
- Fix magic values and add comments.
- Fix structure name.
2018-01-03 02:57:28 +01:00
Stanislav Motylkov
dd71fb5ec8
[NTOS:INBV] Implement rotation bar for boot screen
...
CORE-10327 #resolve
2018-01-03 02:57:28 +01:00
Timo Kreuzer
c4d6c2c3f1
[NTOS:KE] Fix pushing of fake error code in KiDoubleFaultAbort (amd64)
2018-01-01 12:09:38 +01:00
Timo Kreuzer
a2f7de7ee8
Amd64/misc 64bit fixes ( #236 )
...
[REACTOS] Misc 64 bit fixes
* [NTOS:MM] Allow MEM_DOS_LIM in NtMapViewOfSection on x64 as well
* [NTOS:MM] Implement x64 version of MmIsDisabledPage
* [HAL] Remove obsolete code
* [NTOS:KE] Fix amd64 version of KeContextToTrapFrame and KeTrapFrameToContext
* [XDK] Fix CONTEXT_XSTATE definition
* [PCNET] Convert physical address types from pointers to PHYSICAL_ADDRESS
2018-01-01 12:07:50 +01:00
Hermès Bélusca-Maïto
9fa693e59b
[REACTOS] Switch to year 2018...
...
... and Happy New Year 2018 to everyone!!
☆.¸¸.•´☆.¸¸.•´☆.¸¸.•´☆.¸¸.•´☆
⋱★⋰⋱☆⋰⋱★⋰⋱☆⋰⋱☆⋰⋱★⋰⋱☆⋰⋱★⋰
░░░░░░█░█ █▀█ █▀█ █▀█ █░█░░░░░░
░░░░░░█▀█ █▀█ █▀▀ █▀▀ ▀█▀░░░░░░
░░░░░░▀░▀ ▀░▀ ▀░░ ▀░░ ░▀░░░░░░░
█▄░█ █▀▀ █░█░█░░█░█ █▀▀ █▀█ █▀█
█░██ █▀▀ █░█░█░░▀█▀ █▀▀ █▀█ ██▀
▀░░▀ ▀▀▀ ░▀▀▀░░░░▀░ ▀▀▀ ▀░▀ ▀░▀
⋱☆⋰⋱★⋰⋱☆⋰⋱★⋰⋱★⋰⋱☆⋰⋱★⋰⋱☆⋰
░░░▄████▄░▄███▄░░▄██░▄████▄░░░
░░░▀▀░▄██░██░██░████░██▄▄██░░░
░░░░▄██▀░░██░██░░░██░██▀▀██░░░
░░░██████░▀███▀░░░██░▀████▀░░░
☆.¸¸.•´☆.¸¸.•´☆.¸¸.•´☆.¸¸.•´☆
2018-01-01 00:00:00 +01:00
Thomas Faber
75850abcbb
[NTOS] Use KeClearEvent instead of KeResetEvent where the previous state is not needed.
2017-12-30 11:45:03 +01:00
Pierre Schweitzer
7fecde4a20
[NTOSKRNL] Print tags which contains numerics in the memory dumper.
...
This fixes i8042prt.sys allocations not properly being rendered.
2017-12-29 20:37:43 +01:00
Pierre Schweitzer
4663d02cd7
[NTOSKRNL] In the memory dumper, print in the direct order to make !poolused TAG usage easier
2017-12-29 20:37:43 +01:00
Pierre Schweitzer
ca3143b9ab
[NTOSKRNL] Add support for verbose output in the !poolused command
2017-12-29 20:37:43 +01:00
Timo Kreuzer
cbc4cfeed6
[NTOS:EX] Fix handle table code for x64.
...
Based on patch by Ivan Labutin. See PR #115
2017-12-29 19:44:09 +01:00
Pierre Schweitzer
2daf2391a6
[NTOSKNRL] Addendum to 9a633f7
2017-12-29 18:22:37 +01:00
Pierre Schweitzer
9a633f7b48
[NTOSKRNL] Fix MSVC build
2017-12-29 18:03:33 +01:00
Pierre Schweitzer
4e34bf2a0b
[NTOSKRNL] Add support for the ? wildcard in the !poolused command
2017-12-29 17:23:36 +01:00
Pierre Schweitzer
454e8738f2
[NTOSKRNL] Allow filtering !poolused output using a tag
2017-12-29 17:23:36 +01:00
Pierre Schweitzer
879d8f2104
[NTOSKRNL] Now that the memory dumper handles paged pool, make use of it in any situation
2017-12-29 17:23:36 +01:00
Pierre Schweitzer
1433ade827
[NTOSKRNL] Add support for the paged pool in the memory dumper
2017-12-29 17:23:36 +01:00
Pierre Schweitzer
bb63841b57
[NTOSKRNL] Prettify the memory dumper output and add number of allocs
2017-12-29 17:23:36 +01:00
Pierre Schweitzer
78b55550bb
[NTOSKRNL] Make the memory dumper available as a kdbg command: !poolused
2017-12-29 17:23:36 +01:00
Amine Khaldi
007131b5de
[NTOS] Fix Shim AVL prototypes to exactly match the types expected by RtlInitializeGenericTableAvl. #179
2017-12-25 22:34:57 +01:00
Amine Khaldi
4d4e4bb68a
[NTOS] Deduplicate MiSynchronizeSystemPde(). #179
2017-12-25 20:14:46 +01:00
Pierre Schweitzer
fc5a61d8b7
[NTOSKRNL] Revert 4ef0887
: experiments show that our FastFAT is not ready yet to live on its own.
...
So, bring back the infamous IopParseDevice() hack. Dismounting is to be fixed in FastFAT.
Even though it might not be the last remaining bug...
CORE-14124
CORE-14126
CORE-14133
2017-12-25 11:24:13 +01:00
Hermès Bélusca-Maïto
ff8d8a8162
Revert 57c0678
(PR #194 ) that has been erroneously committed too early.
2017-12-24 16:54:48 +01:00
Stanislav Motylkov
57c0678818
[NTOS:INBV] Implement rotation bar for boot screen
2017-12-24 16:47:02 +01:00
Samuel Serapion
a59d4674de
[NTOS] Remove forgotten assert, see CORE-14128.
2017-12-20 21:00:52 +01:00
Timo Kreuzer
12e2c48a25
[NTOS:MM] Fix a bug in MiBuildPfnDatabase
...
MxPfnAllocation is in pages, not in bytes!
2017-12-20 06:56:09 +01:00
Timo Kreuzer
18cd763160
[NTOS:MM] Make debug code in MmArmInitSystem portable
2017-12-20 06:56:09 +01:00
Timo Kreuzer
11c78f701d
[NTOS:MM] Implement x64 version of MI_MAKE_SUBSECTION_PTE
2017-12-20 06:56:09 +01:00
Ivan Labutin
8723be733c
[NTOS:PS] Skip backtrace on non-x86
2017-12-20 06:56:09 +01:00
Ivan Labutin
0d01b00871
[NTOS:FSRTL] Fixed incorrect comparison
2017-12-20 06:56:09 +01:00
Ivan Labutin
d6792047f3
[NTOS][NDK][RTL] A bunch of 'wrong size' fixes
2017-12-20 06:56:09 +01:00
Ivan Labutin
4d35d59fb9
[NTOS:MM] Quick fix: use SIZE_T instead of ULONG, because ULONG is 32-bit and on 64-bit truncates values
2017-12-20 06:56:09 +01:00
Ivan Labutin
ede3f4d449
[NTOS:KE] Improve readability of CPU flag checks and fix error checking wrong register for HT support
2017-12-20 06:56:09 +01:00
Ivan Labutin
5857733996
[NTOS:KE] Remove duplicate NX enabling
2017-12-20 06:56:09 +01:00
Ivan Labutin
39dd47cebb
[NTOS:MM] Comment out debug code for x86 that should not run on x64
2017-12-20 06:56:09 +01:00