- Thanks to Matthieu Suiche (http://www.msuiche.net/2008/09/17/retrieving-mmphysicalmemoryblock-regardless-of-the-nt-version/).
- Move physical.c into ARM3 and call it dynamic.c since these functions are for Dynamic Memory (Hotplug) for Server 2003.
- Remove the old copyright header, as copy-pasting 5 DDK function definitions and rewriting them to say UNIMPLEMENTED isn't much of a copyright.
svn path=/trunk/; revision=41649
- This will call MmInitializeMemoryLimits (now implemented) which will go ahead and create the MmPhysicalMemoryBlock.
- This block contains the physical memory "runs" that are valid on the system, allowing the PFN database to differentiate between valid and non-valid RAM (instead of marking things as "BIOS").
- Also this will come in handy later for various utilities.
svn path=/trunk/; revision=41648
- Add missing ExtDeviceMode and PrivateExtractIconsA/W to PSDK and remove from Wine-only headers, as these are defined in the official PSDK.
svn path=/trunk/; revision=41644
- Don't remove the NCE if we fail because it may not be ours
- Mark the IRPs pending before we insert them into our queue
- Check that the addresses match so we don't receive somebody else's packets
- Part 1 of 2
svn path=/trunk/; revision=41638
- Use System PTEs.
- Allocate 12KB stacks with a 4KB guard page, and expand them up to 60KB as required.
- Previous implementation always allocated 60KB, without any guard page.
- The result is that on a minimal ReactOS install, simply booting up now requires an average of 0.5MB less of physical memory than before.
- And once again, optimizations to the system PTE allocation code should significantly improve performance.
- Should also analyze benefits of using a dead stack slist as done on Windows. (Assembla Ticket #39).
svn path=/trunk/; revision=41636
- The ARM3 PFN database is more of a "shadow" database not to interfere with the real ReactOS PFN database. It starts at 0xB0000000, which is where the initial nonpaged pool started (which now starts somewhere after the ARM3 PFN database).
- No new behavior has been introduced other than additional physical memory consumption for the PFN DB pages, and updated memory layout in the ARM3 world.
svn path=/trunk/; revision=41634
- Also set the Page Directory for the system/idle process in a slightly more correct way, instead of depending on the CR3 value. Do this in ARM^3 now, and remove the older code (and the MmGetPageDirectory function, which was only used by this).
svn path=/trunk/; revision=41631
- Kill all the requests before closing the socket
- Notify oskittcp when we are cancelling requests so it can properly close the socket
svn path=/trunk/; revision=41630
- Much faster and cleaner (will be even faster when System PTE allocation is optimized).
- Better handling of esoteric caching options, especially relevant for ARM.
- Handled through the MiPlatformCacheAttributes, which should be defined differently for each platform (TODO).
- Handles both I/O (device) and RAM physical memory.
- Correct flushing of CPU caches (not a big deal on x86, but matters on ARM).
svn path=/trunk/; revision=41628
- We do some minor optimizations to combine chunks if possible after a free, similar to MD Block algorithms in freeldr.c.
svn path=/trunk/; revision=41626
- Instead of getting the data from the window station and other strange places, the values are now mostly stored in a global variable. This is possible because NtUserSystemParametersInfo should fail anyway when being called from a non-interactive windowstation (tested on windows XP).
- WM_SETTINGCHANGE is now properly sent not posted to all toplevel Windows also passing the registry string as the lParam value (strings could need some testing).
- SystemMetrics are now set and updated from system parameters.
- Most values are now properly loaded from registry and also saved.
- user32_winetest sysparams: before: 634 executed / 235 failures, after: 1093 executed, 11 failures
- Fixes the non-bold caption font in 2nd stage.
- Implements a number SPI codes.
- Implements helper functions for registry and file access
Thanks to all testers for all the regression testing :)
See issue #4595 for more details.
svn path=/trunk/; revision=41604