- This fixes booting on systems which required enough page tables such that the balancer refused the allocation of new pages (around 64+16 pages for page tables of 4KB each, ie. 320MB).
svn path=/trunk/; revision=41511
- Paged pool MEMORY_AREA is now initialized during paged pool initialization.
- Remaining MEMORY_AREAs (KPCR and KUSER_SHARED_DATA) are now created in MiInitSystemMemoryAreas (and they are also static) instead of MmInitVirtualMemory, since this is really what the function was doing.
- The page table and hyperspace MEMORY_AREAs are still initialized the same, but are also now static.
- The creation of these core/system memory areas is now done much earlier. For example, hyperspace memory area is now created before hyperspace is mapped.
- Nonpaged pool, paged pool, and working set initialization is now done outside MiInitSystemMemoryAreas and roughly at the same time as before.
- Removed MmInitVirtualMemory as it had become a kitchen sink of random Memory Manager initialization code.
- I/O and Local APIC MEMORY_AREAs are not created anymore, since that should be done by the HAL, not the kernel.
svn path=/trunk/; revision=41510
- MEMORY_AREA structures are typically allocated from nonpaged pool, under the assumption it exists.
- However, nonpaged pool itself is described by a MEMORY_AREA. Right now, this MEMORY_AREA is created after nonpaged pool has been initialized (it is a miracle this works).
- This new flag allows MEMORY_AREA structures to be allocated statically, allowing the description of certain system address space components, themselves prerequisites to nonpaged pool creation, as well as the nonpaged pool component itself, before nonpaged pool has been initialized.
- This is not yet used.
svn path=/trunk/; revision=41509
- Right now, it is only used for allocating new page tables for kernel-mode mappings.
- This consumer's pages are never zeroed automatically (this is a more endemic ReactOS problem -- kernel pages are zeroed when they shouldn't be).
- New page tables, however, should indeed be zeroed, so now they are zeroed manually with RtlZeroMemory.
- The page zero function is not called anymore, and a useless zero-space hyperspace mapping is thus saved each time this happens.
- Because of this, zero-space hyperspace mappings are required much later in the Memory Manager's initialization steps than before.
svn path=/trunk/; revision=41508
- Also add MiPteToAddress to complement MiAddressToPte. This returns the VA for a given PTE. Bonus points if you can figure out the bit magic.
svn path=/trunk/; revision=41507
- Also move out the extern definitions outside of the inline, so that other functions may access them and consequently removing a needless UNREFERENCED_PARAMETER.
svn path=/trunk/; revision=41505
- Get rid of PHYSICAL_PAGE structure and move to WinNT MMPFN structure instead:
- Define a preprocessor legacy mapping so that freelist.c receives only minimal changes:
- This mapping allows the old meanings of the PHYSICAL_PAGE fields to remain, but now part of the new MMPFN structure
- Other modules (balance.c and mm.h) use the new structure directly, since only 3 lines of code required changes.
- The NT structure is 8 bytes smaller than the ReactOS structure, which saves about 1MB of physical memory and kernel VA space
for each 512MB of RAM, or 25% less. This also enables ReactOS to support 25% more memory than before (64GB instead of 48GB).
svn path=/trunk/; revision=41503
- Implement reading/writing into cyclic buffer for IPortPinWaveRT
- Allocate an audio buffer when the pin is initialized. This needs to be changed once KSPROPERTY_RTAUDIO_BUFFER is implemented
- Fix a bug in PcNewPort
- Remove obsolete code from IPortWavePci
- Return the allocated MDL from IPortWaveRTStream::AllocateContiguousPagesForMdl
- Create a system thread when using IServiceGroup::RequestDelayedService
- ReactOS now partly supports Vista audio driver model
svn path=/trunk/; revision=41497
modified tools/rbuild/backend/mingw/compilers/msc.mak
New rules for C preprocessor that compiles to standard output (RBUILD_PIPE_CPP, RBUILD_PIPE_CXX_CPP)
modified tools/rbuild/backend/mingw/rules.mak
Use RBUILD_PIPE_CPP in RBUILD_WRC_RULE, instead of hardcoding GCC
svn path=/trunk/; revision=41459
modified drivers/filesystems/fastfat/dirwr.c
modified drivers/filesystems/fastfat/ea.c
modified drivers/filesystems/fastfat/finfo.c
Silence "argument unused" warnings
Corrected several accesses to potentially uninitialized variables
modified drivers/filesystems/fastfat/vfat.h
Visual C++ is no longer a guarantee of compilation with the DDK
Patch by Samuel Serapión <samdwise51@gmail.com>
svn path=/trunk/; revision=41457