[NTOS]: Fix a very stupid bug which made any machine with less than 52GB of RAM appea...
authorSir Richard <sir_richard@svn.reactos.org>
Thu, 22 Jul 2010 18:26:04 +0000 (18:26 +0000)
committerSir Richard <sir_richard@svn.reactos.org>
Thu, 22 Jul 2010 18:26:04 +0000 (18:26 +0000)
commit23c3e742d9c84e9fb1518f5fcb8b52be3cfa8731
tree22056e0385a84fb171f11581f27bf5a60d92c681
parent4ae7219e5c2da51563645e160d46149ede3557e6
[NTOS]: Fix a very stupid bug which made any machine with less than 52GB of RAM appear as a "Small memory machine" (instead of 13MB).
[NTOS]: Initialize MmTotalCommitLimit, MmTotalCommitLimitMaximum for consistency.
[NTOS]: Initialize and honor MmAllocationFragment value from registry, or from defaults.
[NTOS]: Initialize the system cache working set pushlock.
[NTOS]: Implement Mi(Un)Lock(Process)WorkingSet inlines to handle the various scenarios. Replace broken/hacky code that was in the system loader, fault handler, and VM deletion paths with the correct macros. No locking is done yet as ReactOS' MAREA implementation overloads the Vm field in EPROCESS, but the correct APC blockings and state transitions are done.
[NTOS]: Add another helper from symbols, MI_IS_PAGE_TABLE_OR_HYPER_ADDRESS, and use it instead of the math-by-hand.
[NTOS]: Add MM_IS_ANY_LOCK_HELD and MI_WS_OWNER to help out the new working let locking inlines (names taken from symbols).
[NTOS]: Add _1GB helper for large-memory checks. Also define _1KB as "1024u". The "u" makes GCC not complain when sizes reach >= 2GB, because GCC will interpret the integer literals as "signed", even if the final calculated value is in an unsigned variable.

svn path=/trunk/; revision=48187
reactos/ntoskrnl/mm/ARM3/miarm.h
reactos/ntoskrnl/mm/ARM3/mminit.c
reactos/ntoskrnl/mm/ARM3/pagfault.c
reactos/ntoskrnl/mm/ARM3/sysldr.c
reactos/ntoskrnl/mm/ARM3/virtual.c