- Implement algorithm to detect if truncation is needed, which should only happen on IA64 systems I believe (otherwise, the OS and firmware should have the same alignment/page size requirements)
- Implement algorithm to detect if coalescing is needed. This shouldn't happen with firmware memory yet, but might happen once we start carving out stuff.
svn path=/trunk/; revision=69056
- DrvEnableDriver does not need to be exported. Fixes MSVC warnings (LNK4216: Exported entry point _DrvEnableDriver@12)
svn path=/trunk/; revision=69049
- Cleanup some bugs/issues in the memory map parsing code.
- Implement creation of BL/NT-compatible memory descriptors based on UEFI descriptors.
- Implement other remaining parts of the page allocator initialization routine.
- Last part missing is to implement routines for removing from a memory list, and for handling the boot manager's own descriptor.
svn path=/trunk/; revision=69047
- Use the right settings to make our CD UEFI compatible. The Internet says this is supposed to be 10000x harder, but it seems to work fine, at least in Virtual Box.
- Implement an EarlyPrint routine for early debugging/testing.
- Using the above, fix a bunch of stupid bugs. The previously committed code now seems to work (so far).
svn path=/trunk/; revision=69043
Add support for converting the EFI file path as well. The first 1000 lines of many have been written. Time to test on Virtual Box.
svn path=/trunk/; revision=69039
- Rename INIT_FUNCTION to INIT_SECTION and put it at the top of functions for consistency with __declspec declarations (it is actually possible to do this via __declspec in newer MSVC versions).
svn path=/trunk/; revision=69037
- Define some core boot library structures -- reverse engineered to be compatible with MS. This is important if we want to load MS' own binaries for testing (such as MemTest.Efi)
- Define basic BCD structures
- Start implementing EFI->Windows Boot Library conversion routines. Last part remaining is EFI path conversion.
- Fix linking with RTL, by providing some stubs for now.
svn path=/trunk/; revision=69033
- Use MmExpansionLock to synchronize changes to MmProcessList. Should fix random crashes in MmDeleteProcessAddressSpace.
CORE-10111 #resolve
svn path=/trunk/; revision=69031
- Associate a temporary VS project (will be removed later on); change the name of the target for now...
- Allow only one instance of MSConfig running on the system (we use a semaphore, compatible with MS' msconfig, so that if you try to run ROS msconfig on windows, you cannot run also windows' msconfig, and vice versa).
- Introduce some utility functions (for strings and other stuff), will be used later on.
CORE-9333
svn path=/trunk/; revision=69024