[FREELDR] Start splitting FreeLdr in the same spirit as our new UEFI boot manager/loader: split into a boot library, the boot manager code, and the NT loader. - The boot library provides the basic support (read INI/INF files, memory management, debugging, ARC compatibility/emulation, ...). - The boot manager code is FreeLdr proper. - The NT loader is used for loading Windows or ReactOS. Because of that fact I rename its directory "windows" into "NTLDR" to underline the fact it can load NT-type OSes (more exactly version 5.x), to which both Windows 2k/XP/2k3 and ReactOS belong. The APIs will certainly be renamed "NtLdrXXX" instead of "WinLdrXXX". - The general PE loader is put into the boot library since it is needed also by FreeLdr proper to be able to load SCSI drivers (on x86/64/... architectures; on ARC systems SCSI support is automatically provided). svn path=/trunk/; revision=70692
[FREELDR] - Since the registry handling rewrite of Timo in r61595 all the freeldr-specific registry structures got deprecated. Remove them, as well as few other prototypes of non-existing functions. - Use the CMLIB registry flags instead of some (already-removed) flags --> fix build. svn path=/trunk/; revision=70594
[few apps][LOGONUI][FREELDR][MSGINA][BLUE] VOIDify function paramater lists when they indeed don't take any arguments. svn path=/trunk/; revision=68974
[FREELDR]: Remove some extra newlines at the end of error messages that are displayed via message boxes, and also for few of them, use the fact that our message boxes implement printf-like features. svn path=/trunk/; revision=66174
[FREELDR] - Code style changes (whitespace + C-style comments). - Move reactos/registry to windows/ since it's only for booting windows-like OSes that registry functions are used. - ARC hw support functions first move (i.e. another code refactoring will happen) outside of reactos/ (since they are used generally, not just for ReactOS loading). - ARC name outside of reactos/ - Delete now-useless reactos/ subdirectory. svn path=/trunk/; revision=66145
[FREELDR] Support failing to load some boot drivers In that case, simply skip it and try the next one. svn path=/trunk/; revision=66033
[FREELDR]: Make RamDiskLoadVirtualFile returning a BOOLEAN such that if we fail to load a Ram disk image, we can display an error message and abort boot. svn path=/trunk/; revision=65988
[FREELDR]: Fix all (?, or almost?) LONG Status; into ARC_STATUS, and the awfully ugly BOOLEAN Status into BOOLEAN Success. svn path=/trunk/; revision=65984
[FREELDR] - Correctly append a backslash to the BootPath (if needed). - Be able to specify relative boot paths (relative to the current boot device): as a consequence, remove the "LiveCD" hackish special value that was introduced long long ago. - Fix BootPath retrieval in ReactOSSetup mode (via the SystemPath optional value), and use a better way to build the temporary txtsetup.sif full file names. As a consequence we can now build hybrid cds with the following architecture: \ --> loader\ (bootsectors + free/setupldr.sys) --> myboot\ (contents of what_defaults_to_reactos directory for the bootcd) --> mylive\ (contents of what_defaults_to_reactos directory for the livecd) --> <regular_files> and freeldr.ini specifying the following values: ; The Setup entry [Setup] BootType=ReactOSSetup SystemPath=\myboot ; The LiveCD entry [LiveCD] BootType=Windows2003 SystemPath=\mylive Options=/MININT Part 2/2 CORE-9023 svn path=/trunk/; revision=65982
[FREELDR]: Whitespace fixes only. svn path=/trunk/; revision=65972
[FREELDR]: Use boolean value. svn path=/trunk/; revision=65967
[FREELDR] - Move inXfile and rtl code into a lib subdir, - Minor comment formatting. svn path=/trunk/; revision=65963
[FREELDR] Modify UiMessageBox so that it allows to pass a format string and parameters. Make use of it in WinLdrLoadBootDrivers to show the file that couldn't be loaded. svn path=/trunk/; revision=61625
[FREELDR] Improve heap allocations by using tags and using the temp heap for all temporary allocations that will not be used by the kernel. This avoids heap fragmentation for the default heap. Increase the temp heap size to 32 MB and limit the size of the cache to the temp heap size minus 128 KB to avoid exhausting the heap with cache data. See CORE-4413. This commit is dedicated to Ronja, my beloved cat who passed away on 5th of December. Rest in peace, little Schnuppel. svn path=/trunk/; revision=61428
[FREELDR] * Use the FrLdr prefix with the heap functions to avoid any ambiguities. svn path=/trunk/; revision=60654
[USETUP]: Add an entry in freeldr.ini for EMS testing. [HIVESYS]: Fix double-addition of "nmidebug". One of those should have been "sacdrv". [FREELDR]: Fix bugs in WinLdrSetupEms which caused an invalid HEADLESS_LOADER_BLOCK to be created. [FERELDR]: Move WinLdrSetupEms in LoadWindowsCommon, so that setupldr can use EMS too. svn path=/trunk/; revision=59716
[FREELDR] Convert TABs to spaces, no code changes. svn path=/trunk/; revision=59078
Merge my current work done on the kd++ branch: - FreeLdr is able now to load personalized Kernel Debugger Transport DLLs by reading at the kernel command line and interpreting the /DEBUGPORT=xxx entry (--> loads KDxxx.DLL dll in \SystemRoot\System32\). Therefore we can not only load the "default" kdcom.dll, but also 3rd-party ones such as kdbazis.dll from VirtualKD (from revision 58902). - The GCC-compiled-only version of kdcom, containing legacy COM code, was removed and put directly along KDBG. It remains only a stub / template for future kdcom-like dlls. The MSVC-version remains untouched. - Make those functions ^ use directly the CPORTLIB library. svn path=/trunk/; revision=58974
Create this branch to work on loading of different Kernel-Debugger DLL providers, and see whether it is possible to move KDBG from ntoskrnl to a new DLL called, say, KDROSDBG.DLL. The idea then would be to have the following behaviour (when specifying the following options in the kernel command line): /DEBUGPORT=COMi --> load KDCOM.DLL and use COMi port (i == 1,2,3,4) if possible. /DEBUGPORT=FOO --> load KDFOO.DLL (useful for KDUSB.DLL, KD1394.DLL, KDBAZIS.DLL for VirtualKD, etc...) /DEBUGPORT=ROSDBG:[COMi|SCREEN|FILE|GDB|...] --> load KDROSDBG.DLL which contains the ROS kernel debugger, and use COMi or SCREEN or... as output port. svn path=/branches/kd++/; revision=58883
[FREELDR] Get rid of reactos_arc_hardware_data, which wasn't used anyway. This frees up 16KB of memory. Don't reallocate the PARTIAL_RESOURE_LISTs in FldrCreateComponentKey, instead take over the ones passed by the caller. svn path=/trunk/; revision=58369