Author: hbelusca
Date: Sun Feb 1 20:22:13 2015
New Revision: 66144
URL:
http://svn.reactos.org/svn/reactos?rev=66144&view=rev
Log:
[FREELDR]
- Fix date format in CHANGELOG (that uses that #$@! of US format)
- Diverse code style changes (whitespace, extra braces, C++ to C-style comments, ...)
Added:
trunk/reactos/boot/freeldr/freeldr/include/hal.h (with props)
Modified:
trunk/reactos/boot/freeldr/freeldr/CHANGELOG
trunk/reactos/boot/freeldr/freeldr/arch/i386/i386bug.c
trunk/reactos/boot/freeldr/freeldr/bootmgr.c
trunk/reactos/boot/freeldr/freeldr/cmdline.c
trunk/reactos/boot/freeldr/freeldr/custom.c
trunk/reactos/boot/freeldr/freeldr/debug.c
trunk/reactos/boot/freeldr/freeldr/freeldr.c
trunk/reactos/boot/freeldr/freeldr/include/cmdline.h
trunk/reactos/boot/freeldr/freeldr/include/debug.h
trunk/reactos/boot/freeldr/freeldr/include/freeldr.h
trunk/reactos/boot/freeldr/freeldr/linuxboot.c
trunk/reactos/boot/freeldr/freeldr/miscboot.c
Modified: trunk/reactos/boot/freeldr/freeldr/CHANGELOG
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/CHANG…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/CHANGELOG [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/CHANGELOG [iso-8859-1] Sun Feb 1 20:22:13 2015
@@ -1,4 +1,4 @@
-Changes in v3.0+ (05/01/2015) (hbelusca)
+Changes in v3.0+ (01/05/2015) (hbelusca)
- Remove support for special value "LiveCD" of SystemPath option
for loading ReactOS since now we treat non-ARC SystemPath as
Modified: trunk/reactos/boot/freeldr/freeldr/arch/i386/i386bug.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/i386/i386bug.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/i386/i386bug.c [iso-8859-1] Sun Feb 1
20:22:13 2015
@@ -163,7 +163,7 @@
TrapFrame->SegSs, Special->Ldtr, Special->Idtr.Limit);
InstructionPointer = (PUCHAR)TrapFrame->Rip;
#endif
- PrintText("\nInstructionstream: %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x
\n",
+ PrintText("\nInstruction stream: %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x
\n",
InstructionPointer[0], InstructionPointer[1],
InstructionPointer[2], InstructionPointer[3],
InstructionPointer[4], InstructionPointer[5],
@@ -240,4 +240,3 @@
{
FrLdrBugCheckEx(BugCode, 0, 0);
}
-
Modified: trunk/reactos/boot/freeldr/freeldr/bootmgr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/bootm…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/bootmgr.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/bootmgr.c [iso-8859-1] Sun Feb 1 20:22:13 2015
@@ -17,9 +17,14 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+/* INCLUDES *******************************************************************/
+
#include <freeldr.h>
-ARC_DISK_SIGNATURE reactos_arc_disk_info[32]; // ARC Disk Information
+/* GLOBALS ********************************************************************/
+
+// ARC Disk Information
+ARC_DISK_SIGNATURE reactos_arc_disk_info[32];
ULONG reactos_disk_count = 0;
CHAR reactos_arc_strings[32][256];
@@ -48,9 +53,9 @@
{"WindowsNT40" , _WIN32_WINNT_NT4 , LoadAndBootWindows },
#endif
{"Windows2003" , _WIN32_WINNT_WS03, LoadAndBootWindows },
-
-// {"Not found" , 0 , NULL }
};
+
+/* FUNCTIONS ******************************************************************/
VOID LoadOperatingSystem(IN OperatingSystemItem* OperatingSystem)
{
@@ -59,10 +64,10 @@
CHAR BootType[80];
ULONG i;
- // Try to open the operating system section in the .ini file
+ /* Try to open the operating system section in the .ini file */
if (IniOpenSection(SectionName, &SectionId))
{
- // Try to read the boot type
+ /* Try to read the boot type */
IniReadSettingByName(SectionId, "BootType", BootType,
sizeof(BootType));
}
else
@@ -72,7 +77,7 @@
if (BootType[0] == ANSI_NULL && SectionName[0] != ANSI_NULL)
{
- // Try to infere the boot type value
+ /* Try to infere the boot type value */
#ifdef _M_IX86
ULONG FileId;
if (ArcOpen((PSTR)SectionName, OpenReadOnly, &FileId) == ESUCCESS)
@@ -87,12 +92,12 @@
}
}
- // Install the drive mapper according to this section drive mappings
+ /* Install the drive mapper according to this section drive mappings */
#if defined(_M_IX86) && !defined(_MSC_VER)
DriveMapMapDrivesInSection(SectionName);
#endif
- // Loop through the OS loading method table and find a suitable OS to boot
+ /* Loop through the OS loading method table and find a suitable OS to boot */
for (i = 0; i < sizeof(OSLoadingMethods) / sizeof(OSLoadingMethods[0]); ++i)
{
if (_stricmp(BootType, OSLoadingMethods[i].BootType) == 0)
@@ -106,19 +111,17 @@
ULONG GetDefaultOperatingSystem(OperatingSystemItem* OperatingSystemList, ULONG
OperatingSystemCount)
{
- CHAR DefaultOSText[80];
- PCSTR DefaultOSName;
- ULONG_PTR SectionId;
- ULONG DefaultOS = 0;
- ULONG Idx;
+ CHAR DefaultOSText[80];
+ PCSTR DefaultOSName;
+ ULONG_PTR SectionId;
+ ULONG DefaultOS = 0;
+ ULONG Idx;
if (!IniOpenSection("FreeLoader", &SectionId))
- {
return 0;
- }
DefaultOSName = CmdLineGetDefaultOS();
- if (NULL == DefaultOSName)
+ if (DefaultOSName == NULL)
{
if (IniReadSettingByName(SectionId, "DefaultOS", DefaultOSText,
sizeof(DefaultOSText)))
{
@@ -126,9 +129,9 @@
}
}
- if (NULL != DefaultOSName)
- {
- for (Idx=0; Idx<OperatingSystemCount; Idx++)
+ if (DefaultOSName != NULL)
+ {
+ for (Idx = 0; Idx<OperatingSystemCount; Idx++)
{
if (_stricmp(DefaultOSName, OperatingSystemList[Idx].SystemPartition) == 0)
{
@@ -148,24 +151,16 @@
ULONG_PTR SectionId;
TimeOut = CmdLineGetTimeOut();
- if (0 <= TimeOut)
- {
+ if (TimeOut >= 0)
return TimeOut;
- }
if (!IniOpenSection("FreeLoader", &SectionId))
- {
return -1;
- }
if (IniReadSettingByName(SectionId, "TimeOut", TimeOutText,
sizeof(TimeOutText)))
- {
TimeOut = atoi(TimeOutText);
- }
else
- {
TimeOut = -1;
- }
return TimeOut;
}
@@ -175,42 +170,41 @@
if (KeyPress == KEY_F8)
{
DoOptionsMenu();
-
return TRUE;
}
- // We didn't handle the key
+ /* We didn't handle the key */
return FALSE;
}
VOID RunLoader(VOID)
{
- ULONG_PTR SectionId;
- ULONG OperatingSystemCount;
- OperatingSystemItem* OperatingSystemList;
- PCSTR* OperatingSystemDisplayNames;
- ULONG DefaultOperatingSystem;
- LONG TimeOut;
- ULONG SelectedOperatingSystem;
- ULONG i;
+ ULONG_PTR SectionId;
+ ULONG OperatingSystemCount;
+ OperatingSystemItem* OperatingSystemList;
+ PCSTR* OperatingSystemDisplayNames;
+ ULONG DefaultOperatingSystem;
+ LONG TimeOut;
+ ULONG SelectedOperatingSystem;
+ ULONG i;
if (!MachInitializeBootDevices())
{
- UiMessageBoxCritical("Error when detecting hardware");
+ UiMessageBoxCritical("Error when detecting hardware.");
return;
}
#ifdef _M_IX86
- // Load additional SCSI driver (if any)
+ /* Load additional SCSI driver (if any) */
if (LoadBootDeviceDriver() != ESUCCESS)
{
- UiMessageBoxCritical("Unable to load additional boot device driver");
+ UiMessageBoxCritical("Unable to load additional boot device
drivers.");
}
#endif
if (!IniFileInitialize())
{
- UiMessageBoxCritical("Error initializing .ini file");
+ UiMessageBoxCritical("Error initializing .ini file.");
return;
}
@@ -219,6 +213,7 @@
UiMessageBoxCritical("Section [FreeLoader] not found in
freeldr.ini.");
return;
}
+
TimeOut = GetTimeOut();
if (!UiInitialize(TRUE))
@@ -231,41 +226,36 @@
if (!OperatingSystemList)
{
UiMessageBox("Unable to read operating systems section in
freeldr.ini.\nPress ENTER to reboot.");
- goto reboot;
+ goto Reboot;
}
if (OperatingSystemCount == 0)
{
UiMessageBox("There were no operating systems listed in freeldr.ini.\nPress
ENTER to reboot.");
- goto reboot;
+ goto Reboot;
}
DefaultOperatingSystem = GetDefaultOperatingSystem(OperatingSystemList,
OperatingSystemCount);
- //
- // Create list of display names
- //
+ /* Create list of display names */
OperatingSystemDisplayNames = FrLdrTempAlloc(sizeof(PCSTR) * OperatingSystemCount,
'mNSO');
if (!OperatingSystemDisplayNames)
- {
- goto reboot;
- }
+ goto Reboot;
+
for (i = 0; i < OperatingSystemCount; i++)
{
OperatingSystemDisplayNames[i] = OperatingSystemList[i].LoadIdentifier;
}
- //
- // Find all the message box settings and run them
- //
+ /* Find all the message box settings and run them */
UiShowMessageBoxesInSection("FreeLoader");
for (;;)
{
- // Redraw the backdrop
+ /* Redraw the backdrop */
UiDrawBackdrop();
- // Show the operating system list menu
+ /* Show the operating system list menu */
if (!UiDisplayMenu("Please select the operating system to start:",
"For troubleshooting and advanced startup options for
"
"ReactOS, press F8.",
@@ -279,16 +269,16 @@
MainBootMenuKeyPressFilter))
{
UiMessageBox("Press ENTER to reboot.");
- goto reboot;
+ goto Reboot;
}
TimeOut = -1;
- // Load the chosen operating system
+ /* Load the chosen operating system */
LoadOperatingSystem(&OperatingSystemList[SelectedOperatingSystem]);
}
-reboot:
+Reboot:
UiUnInitialize("Rebooting...");
return;
}
Modified: trunk/reactos/boot/freeldr/freeldr/cmdline.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/cmdli…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/cmdline.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/cmdline.c [iso-8859-1] Sun Feb 1 20:22:13 2015
@@ -12,6 +12,12 @@
/* GLOBALS ********************************************************************/
+typedef struct tagCMDLINEINFO
+{
+ const char *DefaultOperatingSystem;
+ LONG TimeOut;
+} CMDLINEINFO, *PCMDLINEINFO;
+
CCHAR DefaultOs[256];
CMDLINEINFO CmdLineInfo;
@@ -23,43 +29,34 @@
PCHAR End, Setting;
ULONG_PTR Length, Offset = 0;
- //
- // Set defaults
- //
+ /* Set defaults */
CmdLineInfo.DefaultOperatingSystem = NULL;
CmdLineInfo.TimeOut = -1;
- //
- // Get timeout
- //
+ /* Get timeout */
Setting = strstr(CmdLine, "timeout=");
if (Setting) CmdLineInfo.TimeOut = atoi(Setting +
sizeof("timeout=") +
sizeof(ANSI_NULL));
- //
- // Get default OS
- //
+ /* Get default OS */
Setting = strstr(CmdLine, "defaultos=");
if (Setting)
{
- //
- // Check if there's more command-line parameters following
- //
+ /* Check if there's more command-line parameters following */
Setting += sizeof("defaultos=") + sizeof(ANSI_NULL);
End = strstr(Setting, " ");
- if (End) Length = End - Setting; else Length = sizeof(DefaultOs);
+ if (End)
+ Length = End - Setting;
+ else
+ Length = sizeof(DefaultOs);
- //
- // Copy the default OS
- //
+ /* Copy the default OS */
strncpy(DefaultOs, Setting, Length);
CmdLineInfo.DefaultOperatingSystem = DefaultOs;
}
- //
- // Get ramdisk base address
- //
+ /* Get ramdisk base address */
Setting = strstr(CmdLine, "rdbase=");
if (Setting) gRamDiskBase = (PVOID)(ULONG_PTR)strtoull(Setting +
sizeof("rdbase=") -
@@ -67,9 +64,7 @@
NULL,
0);
- //
- // Get ramdisk size
- //
+ /* Get ramdisk size */
Setting = strstr(CmdLine, "rdsize=");
if (Setting) gRamDiskSize = strtoul(Setting +
sizeof("rdsize=") -
@@ -77,9 +72,7 @@
NULL,
0);
- //
- // Get ramdisk offset
- //
+ /* Get ramdisk offset */
Setting = strstr(CmdLine, "rdoffset=");
if (Setting) Offset = strtoul(Setting +
sizeof("rdoffset=") -
@@ -87,9 +80,7 @@
NULL,
0);
- //
- // Fix it up
- //
+ /* Fix it up */
gRamDiskBase = (PVOID)((ULONG_PTR)gRamDiskBase + Offset);
}
Modified: trunk/reactos/boot/freeldr/freeldr/custom.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/custo…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/custom.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/custom.c [iso-8859-1] Sun Feb 1 20:22:13 2015
@@ -17,32 +17,37 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#ifdef _M_IX86
+
+/* INCLUDES *******************************************************************/
+
#include <freeldr.h>
-#ifdef _M_IX86
-
-const CHAR BootDrivePrompt[] = "Enter the boot drive.\n\nExamples:\nfd0 - first
floppy drive\nhd0 - first hard drive\nhd1 - second hard drive\ncd0 - first CD-ROM
drive.\n\nBIOS drive numbers may also be used:\n0 - first floppy drive\n0x80 - first hard
drive\n0x81 - second hard drive";
-const CHAR BootPartitionPrompt[] = "Enter the boot partition.\n\nEnter 0 for the
active (bootable) partition.";
-const CHAR BootSectorFilePrompt[] = "Enter the boot sector file
path.\n\nExamples:\n\\BOOTSECT.DOS\n/boot/bootsect.dos";
-const CHAR LinuxKernelPrompt[] = "Enter the Linux kernel image
path.\n\nExamples:\n/vmlinuz\n/boot/vmlinuz-2.4.18";
-const CHAR LinuxInitrdPrompt[] = "Enter the initrd image
path.\n\nExamples:\n/initrd.gz\n/boot/root.img.gz\n\nLeave blank for no initial ram
disk.";
-const CHAR LinuxCommandLinePrompt[] = "Enter the Linux kernel command
line.\n\nExamples:\nroot=/dev/hda1\nroot=/dev/fd0 read-only\nroot=/dev/sdb1
init=/sbin/init";
-const CHAR ReactOSSystemPathPrompt[] = "Enter the path to your ReactOS system
directory.\n\nExamples:\n\\REACTOS\n\\ROS";
-const CHAR ReactOSOptionsPrompt[] = "Enter the options you want passed to the
kernel.\n\nExamples:\n/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200\n/FASTDETECT /SOS
/NOGUIBOOT\n/BASEVIDEO /MAXMEM=64\n/KERNEL=NTKRNLMP.EXE /HAL=HALMPS.DLL";
-
-const CHAR CustomBootPrompt[] = "Press ENTER to boot your custom boot
setup.";
+/* GLOBALS ********************************************************************/
+
+const CHAR BootDrivePrompt[] = "Enter the boot drive.\n\nExamples:\nfd0 - first
floppy drive\nhd0 - first hard drive\nhd1 - second hard drive\ncd0 - first CD-ROM
drive.\n\nBIOS drive numbers may also be used:\n0 - first floppy drive\n0x80 - first hard
drive\n0x81 - second hard drive";
+const CHAR BootPartitionPrompt[] = "Enter the boot partition.\n\nEnter 0 for the
active (bootable) partition.";
+const CHAR BootSectorFilePrompt[] = "Enter the boot sector file
path.\n\nExamples:\n\\BOOTSECT.DOS\n/boot/bootsect.dos";
+const CHAR LinuxKernelPrompt[] = "Enter the Linux kernel image
path.\n\nExamples:\n/vmlinuz\n/boot/vmlinuz-2.4.18";
+const CHAR LinuxInitrdPrompt[] = "Enter the initrd image
path.\n\nExamples:\n/initrd.gz\n/boot/root.img.gz\n\nLeave blank for no initial ram
disk.";
+const CHAR LinuxCommandLinePrompt[] = "Enter the Linux kernel command
line.\n\nExamples:\nroot=/dev/hda1\nroot=/dev/fd0 read-only\nroot=/dev/sdb1
init=/sbin/init";
+const CHAR ReactOSSystemPathPrompt[] = "Enter the path to your ReactOS system
directory.\n\nExamples:\n\\REACTOS\n\\ROS";
+const CHAR ReactOSOptionsPrompt[] = "Enter the options you want passed to the
kernel.\n\nExamples:\n/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200\n/FASTDETECT /SOS
/NOGUIBOOT\n/BASEVIDEO /MAXMEM=64\n/KERNEL=NTKRNLMP.EXE /HAL=HALMPS.DLL";
+const CHAR CustomBootPrompt[] = "Press ENTER to boot your custom boot setup.";
+
+/* FUNCTIONS ******************************************************************/
VOID OptionMenuCustomBoot(VOID)
{
- PCSTR CustomBootMenuList[] = {
+ PCSTR CustomBootMenuList[] = {
"Disk",
"Partition",
"Boot Sector File",
"ReactOS",
"Linux"
};
- ULONG CustomBootMenuCount = sizeof(CustomBootMenuList) /
sizeof(CustomBootMenuList[0]);
- ULONG SelectedMenuItem;
+ ULONG CustomBootMenuCount = sizeof(CustomBootMenuList) /
sizeof(CustomBootMenuList[0]);
+ ULONG SelectedMenuItem;
if (!UiDisplayMenu("Please choose a boot method:", "",
FALSE,
@@ -59,61 +64,53 @@
switch (SelectedMenuItem)
{
- case 0: // Disk
- OptionMenuCustomBootDisk();
- break;
- case 1: // Partition
- OptionMenuCustomBootPartition();
- break;
- case 2: // Boot Sector File
- OptionMenuCustomBootBootSectorFile();
- break;
- case 3: // ReactOS
- OptionMenuCustomBootReactOS();
- break;
- case 4: // Linux
- OptionMenuCustomBootLinux();
- break;
+ case 0: // Disk
+ OptionMenuCustomBootDisk();
+ break;
+ case 1: // Partition
+ OptionMenuCustomBootPartition();
+ break;
+ case 2: // Boot Sector File
+ OptionMenuCustomBootBootSectorFile();
+ break;
+ case 3: // ReactOS
+ OptionMenuCustomBootReactOS();
+ break;
+ case 4: // Linux
+ OptionMenuCustomBootLinux();
+ break;
}
}
VOID OptionMenuCustomBootDisk(VOID)
{
- ULONG_PTR SectionId;
- CHAR SectionName[100];
- CHAR BootDriveString[20];
- TIMEINFO* TimeInfo;
- OperatingSystemItem OperatingSystem;
-
- RtlZeroMemory(SectionName, sizeof(SectionName));
- RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
-
- if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
- {
- return;
- }
-
- // Generate a unique section name
+ ULONG_PTR SectionId;
+ CHAR SectionName[100];
+ CHAR BootDriveString[20];
+ TIMEINFO* TimeInfo;
+ OperatingSystemItem OperatingSystem;
+
+ RtlZeroMemory(SectionName, sizeof(SectionName));
+ RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
+
+ if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
+ return;
+
+ /* Generate a unique section name */
TimeInfo = ArcGetTime();
sprintf(SectionName, "CustomBootDisk%u%u%u%u%u%u", TimeInfo->Year,
TimeInfo->Day, TimeInfo->Month, TimeInfo->Hour, TimeInfo->Minute,
TimeInfo->Second);
- // Add the section
- if (!IniAddSection(SectionName, &SectionId))
- {
- return;
- }
-
- // Add the BootType
+ /* Add the section */
+ if (!IniAddSection(SectionName, &SectionId))
+ return;
+
+ /* Add the BootType */
if (!IniAddSettingValueToSection(SectionId, "BootType",
"Drive"))
- {
- return;
- }
-
- // Add the BootDrive
+ return;
+
+ /* Add the BootDrive */
if (!IniAddSettingValueToSection(SectionId, "BootDrive", BootDriveString))
- {
- return;
- }
+ return;
UiMessageBox(CustomBootPrompt);
@@ -127,54 +124,42 @@
VOID OptionMenuCustomBootPartition(VOID)
{
- ULONG_PTR SectionId;
- CHAR SectionName[100];
- CHAR BootDriveString[20];
- CHAR BootPartitionString[20];
- TIMEINFO* TimeInfo;
- OperatingSystemItem OperatingSystem;
+ ULONG_PTR SectionId;
+ CHAR SectionName[100];
+ CHAR BootDriveString[20];
+ CHAR BootPartitionString[20];
+ TIMEINFO* TimeInfo;
+ OperatingSystemItem OperatingSystem;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
RtlZeroMemory(BootPartitionString, sizeof(BootPartitionString));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
- {
- return;
- }
+ return;
if (!UiEditBox(BootPartitionPrompt, BootPartitionString, 20))
- {
- return;
- }
-
- // Generate a unique section name
+ return;
+
+ /* Generate a unique section name */
TimeInfo = ArcGetTime();
sprintf(SectionName, "CustomBootPartition%u%u%u%u%u%u", TimeInfo->Year,
TimeInfo->Day, TimeInfo->Month, TimeInfo->Hour, TimeInfo->Minute,
TimeInfo->Second);
- // Add the section
- if (!IniAddSection(SectionName, &SectionId))
- {
- return;
- }
-
- // Add the BootType
+ /* Add the section */
+ if (!IniAddSection(SectionName, &SectionId))
+ return;
+
+ /* Add the BootType */
if (!IniAddSettingValueToSection(SectionId, "BootType",
"Partition"))
- {
- return;
- }
-
- // Add the BootDrive
+ return;
+
+ /* Add the BootDrive */
if (!IniAddSettingValueToSection(SectionId, "BootDrive", BootDriveString))
- {
- return;
- }
-
- // Add the BootPartition
+ return;
+
+ /* Add the BootPartition */
if (!IniAddSettingValueToSection(SectionId, "BootPartition",
BootPartitionString))
- {
- return;
- }
+ return;
UiMessageBox(CustomBootPrompt);
@@ -188,13 +173,13 @@
VOID OptionMenuCustomBootBootSectorFile(VOID)
{
- ULONG_PTR SectionId;
- CHAR SectionName[100];
- CHAR BootDriveString[20];
- CHAR BootPartitionString[20];
- CHAR BootSectorFileString[200];
- TIMEINFO* TimeInfo;
- OperatingSystemItem OperatingSystem;
+ ULONG_PTR SectionId;
+ CHAR SectionName[100];
+ CHAR BootDriveString[20];
+ CHAR BootPartitionString[20];
+ CHAR BootSectorFileString[200];
+ TIMEINFO* TimeInfo;
+ OperatingSystemItem OperatingSystem;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
@@ -202,53 +187,37 @@
RtlZeroMemory(BootSectorFileString, sizeof(BootSectorFileString));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
- {
- return;
- }
+ return;
if (!UiEditBox(BootPartitionPrompt, BootPartitionString, 20))
- {
- return;
- }
+ return;
if (!UiEditBox(BootSectorFilePrompt, BootSectorFileString, 200))
- {
- return;
- }
-
- // Generate a unique section name
+ return;
+
+ /* Generate a unique section name */
TimeInfo = ArcGetTime();
sprintf(SectionName, "CustomBootSectorFile%u%u%u%u%u%u", TimeInfo->Year,
TimeInfo->Day, TimeInfo->Month, TimeInfo->Hour, TimeInfo->Minute,
TimeInfo->Second);
- // Add the section
- if (!IniAddSection(SectionName, &SectionId))
- {
- return;
- }
-
- // Add the BootType
+ /* Add the section */
+ if (!IniAddSection(SectionName, &SectionId))
+ return;
+
+ /* Add the BootType */
if (!IniAddSettingValueToSection(SectionId, "BootType",
"BootSector"))
- {
- return;
- }
-
- // Add the BootDrive
+ return;
+
+ /* Add the BootDrive */
if (!IniAddSettingValueToSection(SectionId, "BootDrive", BootDriveString))
- {
- return;
- }
-
- // Add the BootPartition
+ return;
+
+ /* Add the BootPartition */
if (!IniAddSettingValueToSection(SectionId, "BootPartition",
BootPartitionString))
- {
- return;
- }
-
- // Add the BootSectorFile
+ return;
+
+ /* Add the BootSectorFile */
if (!IniAddSettingValueToSection(SectionId, "BootSectorFile",
BootSectorFileString))
- {
- return;
- }
+ return;
UiMessageBox(CustomBootPrompt);
@@ -262,15 +231,15 @@
VOID OptionMenuCustomBootReactOS(VOID)
{
- ULONG_PTR SectionId;
- CHAR SectionName[100];
- CHAR BootDriveString[20];
- CHAR BootPartitionString[20];
- CHAR ReactOSSystemPath[200];
- CHAR ReactOSARCPath[200];
- CHAR ReactOSOptions[200];
- TIMEINFO* TimeInfo;
- OperatingSystemItem OperatingSystem;
+ ULONG_PTR SectionId;
+ CHAR SectionName[100];
+ CHAR BootDriveString[20];
+ CHAR BootPartitionString[20];
+ CHAR ReactOSSystemPath[200];
+ CHAR ReactOSARCPath[200];
+ CHAR ReactOSOptions[200];
+ TIMEINFO* TimeInfo;
+ OperatingSystemItem OperatingSystem;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
@@ -279,55 +248,39 @@
RtlZeroMemory(ReactOSOptions, sizeof(ReactOSOptions));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
- {
- return;
- }
+ return;
if (!UiEditBox(BootPartitionPrompt, BootPartitionString, 20))
- {
- return;
- }
+ return;
if (!UiEditBox(ReactOSSystemPathPrompt, ReactOSSystemPath, 200))
- {
- return;
- }
+ return;
if (!UiEditBox(ReactOSOptionsPrompt, ReactOSOptions, 200))
- {
- return;
- }
-
- // Generate a unique section name
+ return;
+
+ /* Generate a unique section name */
TimeInfo = ArcGetTime();
sprintf(SectionName, "CustomReactOS%u%u%u%u%u%u", TimeInfo->Year,
TimeInfo->Day, TimeInfo->Month, TimeInfo->Hour, TimeInfo->Minute,
TimeInfo->Second);
- // Add the section
- if (!IniAddSection(SectionName, &SectionId))
- {
- return;
- }
-
- // Add the BootType
+ /* Add the section */
+ if (!IniAddSection(SectionName, &SectionId))
+ return;
+
+ /* Add the BootType */
if (!IniAddSettingValueToSection(SectionId, "BootType",
"Windows2003"))
- {
- return;
- }
-
- // Construct the ReactOS ARC system path
+ return;
+
+ /* Construct the ReactOS ARC system path */
ConstructArcPath(ReactOSARCPath, ReactOSSystemPath,
DriveMapGetBiosDriveNumber(BootDriveString), atoi(BootPartitionString));
- // Add the system path
+ /* Add the system path */
if (!IniAddSettingValueToSection(SectionId, "SystemPath", ReactOSARCPath))
- {
- return;
- }
-
- // Add the CommandLine
+ return;
+
+ /* Add the CommandLine */
if (!IniAddSettingValueToSection(SectionId, "Options", ReactOSOptions))
- {
- return;
- }
+ return;
UiMessageBox(CustomBootPrompt);
@@ -341,15 +294,15 @@
VOID OptionMenuCustomBootLinux(VOID)
{
- ULONG_PTR SectionId;
- CHAR SectionName[100];
- CHAR BootDriveString[20];
- CHAR BootPartitionString[20];
- CHAR LinuxKernelString[200];
- CHAR LinuxInitrdString[200];
- CHAR LinuxCommandLineString[200];
- TIMEINFO* TimeInfo;
- OperatingSystemItem OperatingSystem;
+ ULONG_PTR SectionId;
+ CHAR SectionName[100];
+ CHAR BootDriveString[20];
+ CHAR BootPartitionString[20];
+ CHAR LinuxKernelString[200];
+ CHAR LinuxInitrdString[200];
+ CHAR LinuxCommandLineString[200];
+ TIMEINFO* TimeInfo;
+ OperatingSystemItem OperatingSystem;
RtlZeroMemory(SectionName, sizeof(SectionName));
RtlZeroMemory(BootDriveString, sizeof(BootDriveString));
@@ -359,78 +312,54 @@
RtlZeroMemory(LinuxCommandLineString, sizeof(LinuxCommandLineString));
if (!UiEditBox(BootDrivePrompt, BootDriveString, 20))
- {
- return;
- }
+ return;
if (!UiEditBox(BootPartitionPrompt, BootPartitionString, 20))
- {
- return;
- }
+ return;
if (!UiEditBox(LinuxKernelPrompt, LinuxKernelString, 200))
- {
- return;
- }
+ return;
if (!UiEditBox(LinuxInitrdPrompt, LinuxInitrdString, 200))
- {
- return;
- }
+ return;
if (!UiEditBox(LinuxCommandLinePrompt, LinuxCommandLineString, 200))
- {
- return;
- }
-
- // Generate a unique section name
+ return;
+
+ /* Generate a unique section name */
TimeInfo = ArcGetTime();
sprintf(SectionName, "CustomLinux%u%u%u%u%u%u", TimeInfo->Year,
TimeInfo->Day, TimeInfo->Month, TimeInfo->Hour, TimeInfo->Minute,
TimeInfo->Second);
- // Add the section
- if (!IniAddSection(SectionName, &SectionId))
- {
- return;
- }
-
- // Add the BootType
+ /* Add the section */
+ if (!IniAddSection(SectionName, &SectionId))
+ return;
+
+ /* Add the BootType */
if (!IniAddSettingValueToSection(SectionId, "BootType",
"Linux"))
- {
- return;
- }
-
- // Add the BootDrive
+ return;
+
+ /* Add the BootDrive */
if (!IniAddSettingValueToSection(SectionId, "BootDrive", BootDriveString))
- {
- return;
- }
-
- // Add the BootPartition
+ return;
+
+ /* Add the BootPartition */
if (!IniAddSettingValueToSection(SectionId, "BootPartition",
BootPartitionString))
- {
- return;
- }
-
- // Add the Kernel
+ return;
+
+ /* Add the Kernel */
if (!IniAddSettingValueToSection(SectionId, "Kernel", LinuxKernelString))
- {
- return;
- }
-
- // Add the Initrd
+ return;
+
+ /* Add the Initrd */
if (strlen(LinuxInitrdString) > 0)
{
if (!IniAddSettingValueToSection(SectionId, "Initrd",
LinuxInitrdString))
- {
return;
- }
}
- // Add the CommandLine
+ /* Add the CommandLine */
if (!IniAddSettingValueToSection(SectionId, "CommandLine",
LinuxCommandLineString))
- {
- return;
- }
+ return;
UiMessageBox(CustomBootPrompt);
Modified: trunk/reactos/boot/freeldr/freeldr/debug.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/debug…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/debug.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/debug.c [iso-8859-1] Sun Feb 1 20:22:13 2015
@@ -23,12 +23,12 @@
#if DBG && !defined(_M_ARM)
-//#define DEBUG_ALL
-//#define DEBUG_WARN
-//#define DEBUG_ERR
-//#define DEBUG_INIFILE
-//#define DEBUG_REACTOS
-//#define DEBUG_CUSTOM
+// #define DEBUG_ALL
+// #define DEBUG_WARN
+// #define DEBUG_ERR
+// #define DEBUG_INIFILE
+// #define DEBUG_REACTOS
+// #define DEBUG_CUSTOM
#define DEBUG_NONE
#define DBG_DEFAULT_LEVELS (ERR_LEVEL|FIXME_LEVEL)
@@ -44,23 +44,22 @@
#define BOCHS_OUTPUT_PORT 0xe9
-
static UCHAR DbgChannels[DBG_CHANNELS_COUNT];
-ULONG DebugPort = RS232;
-//ULONG DebugPort = SCREEN;
-//ULONG DebugPort = BOCHS;
-//ULONG DebugPort = SCREEN|BOCHS;
+ULONG DebugPort = RS232;
+// ULONG DebugPort = SCREEN;
+// ULONG DebugPort = BOCHS;
+// ULONG DebugPort = SCREEN|BOCHS;
#ifdef _WINKD_
/* COM1 is the WinDbg port */
-ULONG ComPort = COM2;
+ULONG ComPort = COM2;
#else
-ULONG ComPort = COM1;
+ULONG ComPort = COM1;
#endif
-//ULONG BaudRate = 19200;
-ULONG BaudRate = 115200;
-
-BOOLEAN DebugStartOfLine = TRUE;
+// ULONG BaudRate = 19200;
+ULONG BaudRate = 115200;
+
+BOOLEAN DebugStartOfLine = TRUE;
VOID DebugInit(VOID)
{
@@ -93,16 +92,13 @@
VOID DebugPrintChar(UCHAR Character)
{
if (Character == '\n')
- {
DebugStartOfLine = TRUE;
- }
if (DebugPort & RS232)
{
if (Character == '\n')
- {
Rs232PortPutByte('\r');
- }
+
Rs232PortPutByte(Character);
}
if (DebugPort & BOCHS)
@@ -152,13 +148,13 @@
char Buffer[2096];
char *ptr = Buffer;
- // Mask out unwanted debug messages
+ /* Mask out unwanted debug messages */
if (!(DbgChannels[Mask] & Level) && !(Level & DBG_DEFAULT_LEVELS ))
{
return;
}
- // Print the header if we have started a new line
+ /* Print the header if we have started a new line */
if (DebugStartOfLine)
{
DbgPrint("(%s:%lu) ", File, Line);
@@ -199,11 +195,9 @@
ULONG Idx;
ULONG Idx2;
- // Mask out unwanted debug messages
+ /* Mask out unwanted debug messages */
if (!(DbgChannels[Mask] & TRACE_LEVEL))
- {
return;
- }
DebugStartOfLine = FALSE; // We don't want line headers
DbgPrint("Dumping buffer at %p with length of %lu bytes:\n", Buffer,
Length);
@@ -213,21 +207,13 @@
DebugStartOfLine = FALSE; // We don't want line headers
if (Idx < 0x0010)
- {
DbgPrint("000%x:\t", Idx);
- }
else if (Idx < 0x0100)
- {
DbgPrint("00%x:\t", Idx);
- }
else if (Idx < 0x1000)
- {
DbgPrint("0%x:\t", Idx);
- }
else
- {
DbgPrint("%x:\t", Idx);
- }
for (Idx2=0; Idx2<16; Idx2++,Idx++)
{
@@ -267,40 +253,40 @@
}
static BOOLEAN
-DbgAddDebugChannel( CHAR* channel, CHAR* level, CHAR op)
+DbgAddDebugChannel(CHAR* channel, CHAR* level, CHAR op)
{
int iLevel, iChannel;
- if(channel == NULL || *channel == L'\0' ||strlen(channel) == 0 )
+ if (channel == NULL || *channel == L'\0' || strlen(channel) == 0 )
return FALSE;
- if(level == NULL || *level == L'\0' ||strlen(level) == 0 )
+ if (level == NULL || *level == L'\0' || strlen(level) == 0 )
iLevel = MAX_LEVEL;
- else if(strcmp(level, "err") == 0)
+ else if (strcmp(level, "err") == 0)
iLevel = ERR_LEVEL;
- else if(strcmp(level, "fixme") == 0)
+ else if (strcmp(level, "fixme") == 0)
iLevel = FIXME_LEVEL;
- else if(strcmp(level, "warn") == 0)
+ else if (strcmp(level, "warn") == 0)
iLevel = WARN_LEVEL;
else if (strcmp(level, "trace") == 0)
iLevel = TRACE_LEVEL;
else
return FALSE;
- if(strcmp(channel, "memory") == 0) iChannel = DPRINT_MEMORY;
- else if(strcmp(channel, "filesystem") == 0) iChannel = DPRINT_FILESYSTEM;
- else if(strcmp(channel, "inifile") == 0) iChannel = DPRINT_INIFILE;
- else if(strcmp(channel, "ui") == 0) iChannel = DPRINT_UI;
- else if(strcmp(channel, "disk") == 0) iChannel = DPRINT_DISK;
- else if(strcmp(channel, "cache") == 0) iChannel = DPRINT_CACHE;
- else if(strcmp(channel, "registry") == 0) iChannel = DPRINT_REGISTRY;
- else if(strcmp(channel, "linux") == 0) iChannel = DPRINT_LINUX;
- else if(strcmp(channel, "hwdetect") == 0) iChannel = DPRINT_HWDETECT;
- else if(strcmp(channel, "windows") == 0) iChannel = DPRINT_WINDOWS;
- else if(strcmp(channel, "peloader") == 0) iChannel = DPRINT_PELOADER;
- else if(strcmp(channel, "scsiport") == 0) iChannel = DPRINT_SCSIPORT;
- else if(strcmp(channel, "heap") == 0) iChannel = DPRINT_HEAP;
- else if(strcmp(channel, "all") == 0)
+ if (strcmp(channel, "memory" ) == 0) iChannel = DPRINT_MEMORY;
+ else if (strcmp(channel, "filesystem") == 0) iChannel = DPRINT_FILESYSTEM;
+ else if (strcmp(channel, "inifile" ) == 0) iChannel = DPRINT_INIFILE;
+ else if (strcmp(channel, "ui" ) == 0) iChannel = DPRINT_UI;
+ else if (strcmp(channel, "disk" ) == 0) iChannel = DPRINT_DISK;
+ else if (strcmp(channel, "cache" ) == 0) iChannel = DPRINT_CACHE;
+ else if (strcmp(channel, "registry" ) == 0) iChannel = DPRINT_REGISTRY;
+ else if (strcmp(channel, "linux" ) == 0) iChannel = DPRINT_LINUX;
+ else if (strcmp(channel, "hwdetect" ) == 0) iChannel = DPRINT_HWDETECT;
+ else if (strcmp(channel, "windows" ) == 0) iChannel = DPRINT_WINDOWS;
+ else if (strcmp(channel, "peloader" ) == 0) iChannel = DPRINT_PELOADER;
+ else if (strcmp(channel, "scsiport" ) == 0) iChannel = DPRINT_SCSIPORT;
+ else if (strcmp(channel, "heap" ) == 0) iChannel = DPRINT_HEAP;
+ else if (strcmp(channel, "all" ) == 0)
{
int i;
@@ -316,7 +302,7 @@
}
else return FALSE;
- if(op==L'+')
+ if (op == L'+')
DbgChannels[iChannel] |= iLevel;
else
DbgChannels[iChannel] &= ~iLevel;
@@ -333,25 +319,25 @@
do
{
- separator = strchr(str, L',');
- if(separator != NULL)
- *separator = L'\0';
-
- c = strchr(str, L'+');
- if(c == NULL)
- c = strchr(str, L'-');
-
- if(c != NULL)
+ separator = strchr(str, ',');
+ if (separator != NULL)
+ *separator = '\0';
+
+ c = strchr(str, '+');
+ if (c == NULL)
+ c = strchr(str, '-');
+
+ if (c != NULL)
{
op = *c;
- *c = L'\0';
+ *c = '\0';
c++;
DbgAddDebugChannel(c, str, op);
}
str = separator + 1;
- } while(separator != NULL);
+ } while (separator != NULL);
}
#else
@@ -394,7 +380,7 @@
return 0;
}
-//DECLSPEC_NORETURN
+// DECLSPEC_NORETURN
VOID
NTAPI
KeBugCheckEx(
@@ -406,8 +392,8 @@
{
char Buffer[70];
sprintf(Buffer, "*** STOP: 0x%08lX (0x%08lX, 0x%08lX, 0x%08lX, 0x%08lX)",
- BugCheckCode, BugCheckParameter1, BugCheckParameter2,
- BugCheckParameter3, BugCheckParameter4);
+ BugCheckCode, BugCheckParameter1, BugCheckParameter2,
+ BugCheckParameter3, BugCheckParameter4);
UiMessageBoxCritical(Buffer);
assert(FALSE);
for (;;);
@@ -420,23 +406,23 @@
IN ULONG LineNumber,
IN PCHAR Message OPTIONAL)
{
- if (Message)
- {
- DbgPrint("Assertion \'%s\' failed at %s line %u: %s\n",
- (PCHAR)FailedAssertion,
- (PCHAR)FileName,
- LineNumber,
- Message);
- }
- else
- {
- DbgPrint("Assertion \'%s\' failed at %s line %u\n",
- (PCHAR)FailedAssertion,
- (PCHAR)FileName,
- LineNumber);
- }
-
- DbgBreakPoint();
+ if (Message)
+ {
+ DbgPrint("Assertion \'%s\' failed at %s line %u: %s\n",
+ (PCHAR)FailedAssertion,
+ (PCHAR)FileName,
+ LineNumber,
+ Message);
+ }
+ else
+ {
+ DbgPrint("Assertion \'%s\' failed at %s line %u\n",
+ (PCHAR)FailedAssertion,
+ (PCHAR)FileName,
+ LineNumber);
+ }
+
+ DbgBreakPoint();
}
char *BugCodeStrings[] =
@@ -448,4 +434,3 @@
};
ULONG_PTR BugCheckInfo[5];
-
Modified: trunk/reactos/boot/freeldr/freeldr/freeldr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freel…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/freeldr.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/freeldr.c [iso-8859-1] Sun Feb 1 20:22:13 2015
@@ -17,20 +17,19 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+/* INCLUDES *******************************************************************/
+
#include <freeldr.h>
#include <debug.h>
DBG_DEFAULT_CHANNEL(WARNING);
-VOID NTAPI HalpInitializePciStubs(VOID);
-VOID NTAPI HalpInitBusHandler(VOID);
+/* FUNCTIONS ******************************************************************/
VOID BootMain(LPSTR CmdLine)
{
CmdLineParse(CmdLine);
-
MachInit(CmdLine);
-
FsInit();
DebugInit();
@@ -43,22 +42,23 @@
if (!UiInitialize(FALSE))
{
UiMessageBoxCritical("Unable to initialize UI.\n");
- goto quit;
+ goto Quit;
}
if (!MmInitializeMemoryManager())
{
UiMessageBoxCritical("Unable to initialize memory manager");
- goto quit;
+ goto Quit;
}
#ifdef _M_IX86
HalpInitializePciStubs();
HalpInitBusHandler();
#endif
+
RunLoader();
-quit:
+Quit:
/* If we reach this point, something went wrong before, therefore reboot */
DiskStopFloppyMotor();
Reboot();
@@ -73,7 +73,7 @@
return 1;
}
-int __cdecl mbtowc (wchar_t *wchar, const char *mbchar, size_t count)
+int __cdecl mbtowc(wchar_t *wchar, const char *mbchar, size_t count)
{
*wchar = (wchar_t)*mbchar;
return 1;
Modified: trunk/reactos/boot/freeldr/freeldr/include/cmdline.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/cmdline.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/cmdline.h [iso-8859-1] Sun Feb 1 20:22:13
2015
@@ -19,12 +19,6 @@
#pragma once
-typedef struct tagCMDLINEINFO
-{
- const char *DefaultOperatingSystem;
- LONG TimeOut;
-} CMDLINEINFO, *PCMDLINEINFO;
-
VOID CmdLineParse(IN PCHAR CmdLine);
PCCH CmdLineGetDefaultOS(VOID);
Modified: trunk/reactos/boot/freeldr/freeldr/include/debug.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/debug.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/debug.h [iso-8859-1] Sun Feb 1 20:22:13
2015
@@ -20,16 +20,16 @@
#ifndef __DEBUG_H
#define __DEBUG_H
-#define DPRINT_NONE 0 // No debug print
-#define DPRINT_WARNING 1 // debugger messages and other misc stuff
-#define DPRINT_MEMORY 2 // memory management messages
-#define DPRINT_FILESYSTEM 3 // file system messages
-#define DPRINT_INIFILE 4 // .ini file messages
-#define DPRINT_UI 5 // user interface messages
-#define DPRINT_DISK 6 // disk messages
-#define DPRINT_CACHE 7 // cache messages
-#define DPRINT_REGISTRY 8 // registry messages
-#define DPRINT_REACTOS 9 // ReactOS messages
+#define DPRINT_NONE 0 // No debug print
+#define DPRINT_WARNING 1 // debugger messages and other misc stuff
+#define DPRINT_MEMORY 2 // memory management messages
+#define DPRINT_FILESYSTEM 3 // file system messages
+#define DPRINT_INIFILE 4 // .ini file messages
+#define DPRINT_UI 5 // user interface messages
+#define DPRINT_DISK 6 // disk messages
+#define DPRINT_CACHE 7 // cache messages
+#define DPRINT_REGISTRY 8 // registry messages
+#define DPRINT_REACTOS 9 // ReactOS messages
#define DPRINT_LINUX 10 // Linux messages
#define DPRINT_HWDETECT 11 // hardware detection messages
#define DPRINT_WINDOWS 12 // messages from Windows loader
Modified: trunk/reactos/boot/freeldr/freeldr/include/freeldr.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/freeldr.h [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/include/freeldr.h [iso-8859-1] Sun Feb 1 20:22:13
2015
@@ -29,7 +29,7 @@
#define ROUND_UP(n, align) \
ROUND_DOWN(((ULONG)n) + (align) - 1, (align))
-/* public headers */
+/* Public headers */
#ifdef __REACTOS__
#define NTOSAPI
#define printf TuiPrintf
@@ -54,7 +54,7 @@
#include <ntsup.h>
#endif
-/* internal headers */
+/* Internal headers */
// #include <arcemul.h>
#include <bytesex.h>
#include <cache.h>
@@ -62,6 +62,7 @@
#include <comm.h>
#include <disk.h>
#include <fs.h>
+#include <hal.h>
#include <inffile.h>
#include <inifile.h>
#include <keycodes.h>
@@ -81,20 +82,20 @@
#include <video.h>
#include <winldr.h>
-/* file system headers */
+/* File system headers */
#include <fs/ext2.h>
#include <fs/fat.h>
#include <fs/ntfs.h>
#include <fs/iso.h>
#include <fs/pxe.h>
-/* ui support */
+/* UI support */
#include <ui/gui.h>
#include <ui/minitui.h>
#include <ui/noui.h>
#include <ui/tui.h>
-/* arch specific includes */
+/* Arch specific includes */
#if defined(_M_IX86) || defined(_M_AMD64)
#include <arch/pc/hardware.h>
#include <arch/pc/pcbios.h>
Added: trunk/reactos/boot/freeldr/freeldr/include/hal.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/inclu…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/include/hal.h (added)
+++ trunk/reactos/boot/freeldr/freeldr/include/hal.h [iso-8859-1] Sun Feb 1 20:22:13
2015
@@ -0,0 +1,9 @@
+
+#pragma once
+
+#ifdef _M_IX86
+
+VOID NTAPI HalpInitializePciStubs(VOID);
+VOID NTAPI HalpInitBusHandler(VOID);
+
+#endif
Propchange: trunk/reactos/boot/freeldr/freeldr/include/hal.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: trunk/reactos/boot/freeldr/freeldr/linuxboot.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/linux…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/linuxboot.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/linuxboot.c [iso-8859-1] Sun Feb 1 20:22:13 2015
@@ -19,55 +19,55 @@
#ifndef _M_ARM
+#ifdef _M_IX86
+
+/* INCLUDES *******************************************************************/
+
#include <freeldr.h>
#include <debug.h>
-#ifdef _M_IX86
-
-#define LINUX_READ_CHUNK_SIZE 0x20000 // Read 128k at a time
-
DBG_DEFAULT_CHANNEL(LINUX);
-PLINUX_BOOTSECTOR LinuxBootSector = NULL;
-PLINUX_SETUPSECTOR LinuxSetupSector = NULL;
-ULONG SetupSectorSize = 0;
-BOOLEAN NewStyleLinuxKernel = FALSE;
-ULONG LinuxKernelSize = 0;
-ULONG LinuxInitrdSize = 0;
-CHAR LinuxKernelName[260];
-CHAR LinuxInitrdName[260];
-BOOLEAN LinuxHasInitrd = FALSE;
-CHAR LinuxCommandLine[260] = "";
-ULONG LinuxCommandLineSize = 0;
-PVOID LinuxKernelLoadAddress = NULL;
-PVOID LinuxInitrdLoadAddress = NULL;
-CHAR LinuxBootDescription[80];
-CHAR LinuxBootPath[260] = "";
+/* GLOBALS ********************************************************************/
+
+#define LINUX_READ_CHUNK_SIZE 0x20000 // Read 128k at a time
+
+PLINUX_BOOTSECTOR LinuxBootSector = NULL;
+PLINUX_SETUPSECTOR LinuxSetupSector = NULL;
+ULONG SetupSectorSize = 0;
+BOOLEAN NewStyleLinuxKernel = FALSE;
+ULONG LinuxKernelSize = 0;
+ULONG LinuxInitrdSize = 0;
+CHAR LinuxKernelName[260];
+CHAR LinuxInitrdName[260];
+BOOLEAN LinuxHasInitrd = FALSE;
+CHAR LinuxCommandLine[260] = "";
+ULONG LinuxCommandLineSize = 0;
+PVOID LinuxKernelLoadAddress = NULL;
+PVOID LinuxInitrdLoadAddress = NULL;
+CHAR LinuxBootDescription[80];
+CHAR LinuxBootPath[260] = "";
+
+/* FUNCTIONS ******************************************************************/
BOOLEAN RemoveQuotes(PCHAR QuotedString)
{
- CHAR TempString[200];
+ CHAR TempString[200];
PCHAR p;
- PSTR Start;
-
- //
- // Skip spaces up to "
- //
+ PSTR Start;
+
+ /* Skip spaces up to " */
p = QuotedString;
while (*p == ' ' || *p == '"')
p++;
Start = p;
- //
- // Go up to next "
- //
+ /* Go up to next " */
while (*p != '"' && *p != ANSI_NULL)
p++;
*p = ANSI_NULL;
- //
- // Copy result
- //
+ /* Copy result */
strcpy(TempString, Start);
strcpy(QuotedString, TempString);
@@ -78,33 +78,27 @@
LoadAndBootLinux(IN OperatingSystemItem* OperatingSystem,
IN USHORT OperatingSystemVersion)
{
- PCSTR SectionName = OperatingSystem->SystemPartition;
- PCSTR Description = OperatingSystem->LoadIdentifier;
- PFILE LinuxKernel = 0;
- PFILE LinuxInitrdFile = 0;
- CHAR TempString[260];
+ PCSTR SectionName = OperatingSystem->SystemPartition;
+ PCSTR Description = OperatingSystem->LoadIdentifier;
+ PFILE LinuxKernel = 0;
+ PFILE LinuxInitrdFile = 0;
+ CHAR TempString[260];
UiDrawBackdrop();
if (Description)
- {
sprintf(LinuxBootDescription, "Loading %s...", Description);
- }
- else
- {
+ else
strcpy(LinuxBootDescription, "Loading Linux...");
- }
UiDrawStatusText(LinuxBootDescription);
UiDrawProgressBarCenter(0, 100, LinuxBootDescription);
- // Parse the .ini file section
+ /* Parse the .ini file section */
if (!LinuxParseIniSection(SectionName))
- {
goto LinuxBootFailed;
- }
-
- // Open the kernel
+
+ /* Open the kernel */
LinuxKernel = FsOpenFile(LinuxKernelName);
if (!LinuxKernel)
{
@@ -113,7 +107,7 @@
goto LinuxBootFailed;
}
- // Open the initrd file image (if necessary)
+ /* Open the initrd file image (if necessary) */
if (LinuxHasInitrd)
{
LinuxInitrdFile = FsOpenFile(LinuxInitrdName);
@@ -125,44 +119,34 @@
}
}
- // Read the boot sector
+ /* Read the boot sector */
if (!LinuxReadBootSector(LinuxKernel))
- {
goto LinuxBootFailed;
- }
-
- // Read the setup sector
+
+ /* Read the setup sector */
if (!LinuxReadSetupSector(LinuxKernel))
- {
goto LinuxBootFailed;
- }
-
- // Calc kernel size
+
+ /* Calc kernel size */
LinuxKernelSize = FsGetFileSize(LinuxKernel) - (512 + SetupSectorSize);
- // Get the file size
+ /* Get the file size */
LinuxInitrdSize = FsGetFileSize(LinuxInitrdFile);
- // Read the kernel
+ /* Read the kernel */
if (!LinuxReadKernel(LinuxKernel))
- {
goto LinuxBootFailed;
- }
-
- // Read the initrd (if necessary)
+
+ /* Read the initrd (if necessary) */
if (LinuxHasInitrd)
{
if (!LinuxReadInitrd(LinuxInitrdFile))
- {
goto LinuxBootFailed;
- }
}
// If the default root device is set to FLOPPY (0000h), change to /dev/fd0 (0200h)
if (LinuxBootSector->RootDevice == 0x0000)
- {
LinuxBootSector->RootDevice = 0x0200;
- }
if (LinuxSetupSector->Version >= 0x0202)
{
@@ -175,13 +159,9 @@
}
if (NewStyleLinuxKernel)
- {
LinuxSetupSector->TypeOfLoader = LINUX_LOADER_TYPE_FREELOADER;
- }
- else
- {
+ else
LinuxSetupSector->LoadFlags = 0;
- }
RtlCopyMemory((PVOID)0x90000, LinuxBootSector, 512);
RtlCopyMemory((PVOID)0x90200, LinuxSetupSector, SetupSectorSize);
@@ -192,42 +172,30 @@
DiskStopFloppyMotor();
if (LinuxSetupSector->LoadFlags & LINUX_FLAG_LOAD_HIGH)
- {
BootNewLinuxKernel();
- }
- else
- {
+ else
BootOldLinuxKernel(LinuxKernelSize);
- }
LinuxBootFailed:
if (LinuxKernel)
- {
FsCloseFile(LinuxKernel);
- }
+
if (LinuxInitrdFile)
- {
FsCloseFile(LinuxInitrdFile);
- }
if (LinuxBootSector != NULL)
- {
MmFreeMemory(LinuxBootSector);
- }
+
if (LinuxSetupSector != NULL)
- {
MmFreeMemory(LinuxSetupSector);
- }
+
if (LinuxKernelLoadAddress != NULL)
- {
MmFreeMemory(LinuxKernelLoadAddress);
- }
+
if (LinuxInitrdLoadAddress != NULL)
- {
MmFreeMemory(LinuxInitrdLoadAddress);
- }
LinuxBootSector = NULL;
LinuxSetupSector = NULL;
@@ -243,13 +211,13 @@
BOOLEAN LinuxParseIniSection(PCSTR SectionName)
{
- ULONG_PTR SectionId;
- CHAR SettingName[260];
-
- // Find all the message box settings and run them
+ ULONG_PTR SectionId;
+ CHAR SettingName[260];
+
+ /* Find all the message box settings and run them */
UiShowMessageBoxesInSection(SectionName);
- // Try to open the operating system section in the .ini file
+ /* Try to open the operating system section in the .ini file */
if (!IniOpenSection(SectionName, &SectionId))
{
sprintf(SettingName, "Section [%s] not found in freeldr.ini.\n",
SectionName);
@@ -263,20 +231,20 @@
return FALSE;
}
- // Get the kernel name
+ /* Get the kernel name */
if (!IniReadSettingByName(SectionId, "Kernel", LinuxKernelName,
sizeof(LinuxKernelName)))
{
UiMessageBox("Linux kernel filename not specified for selected OS!");
return FALSE;
}
- // Get the initrd name
+ /* Get the initrd name */
if (IniReadSettingByName(SectionId, "Initrd", LinuxInitrdName,
sizeof(LinuxInitrdName)))
{
LinuxHasInitrd = TRUE;
}
- // Get the command line
+ /* Get the command line */
if (IniReadSettingByName(SectionId, "CommandLine", LinuxCommandLine,
sizeof(LinuxCommandLine)))
{
RemoveQuotes(LinuxCommandLine);
@@ -288,21 +256,17 @@
BOOLEAN LinuxReadBootSector(PFILE LinuxKernelFile)
{
- // Allocate memory for boot sector
+ /* Allocate memory for boot sector */
LinuxBootSector = MmAllocateMemoryWithType(512, LoaderSystemCode);
if (LinuxBootSector == NULL)
- {
- return FALSE;
- }
-
- // Read linux boot sector
+ return FALSE;
+
+ /* Read linux boot sector */
FsSetFilePointer(LinuxKernelFile, 0);
if (!FsReadFile(LinuxKernelFile, 512, NULL, LinuxBootSector))
- {
- return FALSE;
- }
-
- // Check for validity
+ return FALSE;
+
+ /* Check for validity */
if (LinuxBootSector->BootFlag != LINUX_BOOT_SECTOR_MAGIC)
{
UiMessageBox("Invalid boot sector magic (0xaa55)");
@@ -325,48 +289,36 @@
BOOLEAN LinuxReadSetupSector(PFILE LinuxKernelFile)
{
- UCHAR TempLinuxSetupSector[512];
+ UCHAR TempLinuxSetupSector[512];
LinuxSetupSector = (PLINUX_SETUPSECTOR)TempLinuxSetupSector;
- // Read first linux setup sector
+ /* Read first linux setup sector */
FsSetFilePointer(LinuxKernelFile, 512);
if (!FsReadFile(LinuxKernelFile, 512, NULL, TempLinuxSetupSector))
- {
- return FALSE;
- }
-
- // Check the kernel version
+ return FALSE;
+
+ /* Check the kernel version */
if (!LinuxCheckKernelVersion())
- {
- return FALSE;
- }
+ return FALSE;
if (NewStyleLinuxKernel)
- {
SetupSectorSize = 512 * LinuxBootSector->SetupSectors;
- }
- else
- {
- SetupSectorSize = 4 * 512; // Always 4 setup sectors
- }
-
- // Allocate memory for setup sectors
+ else
+ SetupSectorSize = 512 * 4; // Always 4 setup sectors
+
+ /* Allocate memory for setup sectors */
LinuxSetupSector = MmAllocateMemoryWithType(SetupSectorSize, LoaderSystemCode);
if (LinuxSetupSector == NULL)
- {
- return FALSE;
- }
-
- // Copy over first setup sector
+ return FALSE;
+
+ /* Copy over first setup sector */
RtlCopyMemory(LinuxSetupSector, TempLinuxSetupSector, 512);
- // Read in the rest of the linux setup sectors
+ /* Read in the rest of the linux setup sectors */
FsSetFilePointer(LinuxKernelFile, 1024);
if (!FsReadFile(LinuxKernelFile, SetupSectorSize - 512, NULL,
(PVOID)((ULONG_PTR)LinuxSetupSector + 512)))
- {
- return FALSE;
- }
+ return FALSE;
// DbgDumpBuffer(DPRINT_LINUX, LinuxSetupSector, SetupSectorSize);
@@ -391,14 +343,14 @@
BOOLEAN LinuxReadKernel(PFILE LinuxKernelFile)
{
- ULONG BytesLoaded;
- CHAR StatusText[260];
- PVOID LoadAddress;
+ ULONG BytesLoaded;
+ CHAR StatusText[260];
+ PVOID LoadAddress;
sprintf(StatusText, "Loading %s", LinuxKernelName);
UiDrawStatusText(StatusText);
- // Allocate memory for Linux kernel
+ /* Allocate memory for Linux kernel */
LinuxKernelLoadAddress = MmAllocateMemoryAtAddress(LinuxKernelSize,
(PVOID)LINUX_KERNEL_LOAD_ADDRESS, LoaderSystemCode);
if (LinuxKernelLoadAddress != (PVOID)LINUX_KERNEL_LOAD_ADDRESS)
{
@@ -407,14 +359,12 @@
LoadAddress = LinuxKernelLoadAddress;
- // Read linux kernel to 0x100000 (1mb)
+ /* Read linux kernel to 0x100000 (1mb) */
FsSetFilePointer(LinuxKernelFile, 512 + SetupSectorSize);
for (BytesLoaded=0; BytesLoaded<LinuxKernelSize; )
{
if (!FsReadFile(LinuxKernelFile, LINUX_READ_CHUNK_SIZE, NULL, LoadAddress))
- {
return FALSE;
- }
BytesLoaded += LINUX_READ_CHUNK_SIZE;
LoadAddress = (PVOID)((ULONG_PTR)LoadAddress + LINUX_READ_CHUNK_SIZE);
@@ -427,25 +377,25 @@
BOOLEAN LinuxCheckKernelVersion(VOID)
{
- // Just assume old kernel until we find otherwise
+ /* Just assume old kernel until we find otherwise */
NewStyleLinuxKernel = FALSE;
- // Check for new style setup header
+ /* Check for new style setup header */
if (LinuxSetupSector->SetupHeaderSignature != LINUX_SETUP_HEADER_ID)
{
NewStyleLinuxKernel = FALSE;
}
- // Check for version below 2.0
+ /* Check for version below 2.0 */
else if (LinuxSetupSector->Version < 0x0200)
{
NewStyleLinuxKernel = FALSE;
}
- // Check for version 2.0
+ /* Check for version 2.0 */
else if (LinuxSetupSector->Version == 0x0200)
{
NewStyleLinuxKernel = TRUE;
}
- // Check for version 2.01+
+ /* Check for version 2.01+ */
else if (LinuxSetupSector->Version >= 0x0201)
{
NewStyleLinuxKernel = TRUE;
@@ -487,7 +437,7 @@
return FALSE;
}
- // Set the information in the setup struct
+ /* Set the information in the setup struct */
LinuxSetupSector->RamdiskAddress = (ULONG)LinuxInitrdLoadAddress;
LinuxSetupSector->RamdiskSize = LinuxInitrdSize;
@@ -499,13 +449,11 @@
TRACE("InitrdAddressMax: 0x%x\n",
LinuxSetupSector->InitrdAddressMax);
}
- // Read in the ramdisk
+ /* Read in the ramdisk */
for (BytesLoaded=0; BytesLoaded<LinuxInitrdSize; )
{
if (!FsReadFile(LinuxInitrdFile, LINUX_READ_CHUNK_SIZE, NULL,
(PVOID)LinuxInitrdLoadAddress))
- {
return FALSE;
- }
BytesLoaded += LINUX_READ_CHUNK_SIZE;
LinuxInitrdLoadAddress = (PVOID)((ULONG_PTR)LinuxInitrdLoadAddress +
LINUX_READ_CHUNK_SIZE);
Modified: trunk/reactos/boot/freeldr/freeldr/miscboot.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/miscb…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/miscboot.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/miscboot.c [iso-8859-1] Sun Feb 1 20:22:13 2015
@@ -17,25 +17,29 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#ifdef _M_IX86
+
+/* INCLUDES *******************************************************************/
+
#include <freeldr.h>
-#ifdef _M_IX86
+/* FUNCTIONS ******************************************************************/
VOID
LoadAndBootBootSector(IN OperatingSystemItem* OperatingSystem,
IN USHORT OperatingSystemVersion)
{
- ULONG_PTR SectionId;
- PCSTR SectionName = OperatingSystem->SystemPartition;
- CHAR FileName[260];
- PFILE FilePointer;
- ULONG BytesRead;
- CHAR SettingName[80];
-
- // Find all the message box settings and run them
+ ULONG_PTR SectionId;
+ PCSTR SectionName = OperatingSystem->SystemPartition;
+ CHAR FileName[260];
+ PFILE FilePointer;
+ ULONG BytesRead;
+ CHAR SettingName[80];
+
+ /* Find all the message box settings and run them */
UiShowMessageBoxesInSection(SectionName);
- // Try to open the operating system section in the .ini file
+ /* Try to open the operating system section in the .ini file */
if (!IniOpenSection(SectionName, &SectionId))
{
sprintf(SettingName, "Section [%s] not found in freeldr.ini.\n",
SectionName);
@@ -57,14 +61,14 @@
return;
}
- // Read boot sector
+ /* Read boot sector */
if (!FsReadFile(FilePointer, 512, &BytesRead, (void*)0x7c00) || (BytesRead !=
512))
{
UiMessageBox("Unable to read boot sector.");
return;
}
- // Check for validity
+ /* Check for validity */
if (*((USHORT*)(0x7c00 + 0x1fe)) != 0xaa55)
{
UiMessageBox("Invalid boot sector magic (0xaa55)");
@@ -72,15 +76,18 @@
}
UiUnInitialize("Booting...");
- // Don't stop the floppy drive motor when we
- // are just booting a bootsector, or drive, or partition.
- // If we were to stop the floppy motor then
- // the BIOS wouldn't be informed and if the
- // next read is to a floppy then the BIOS will
- // still think the motor is on and this will
- // result in a read error.
- //DiskStopFloppyMotor();
- //DisableA20();
+
+ /*
+ * Don't stop the floppy drive motor when we
+ * are just booting a bootsector, or drive, or partition.
+ * If we were to stop the floppy motor then
+ * the BIOS wouldn't be informed and if the
+ * next read is to a floppy then the BIOS will
+ * still think the motor is on and this will
+ * result in a read error.
+ */
+ // DiskStopFloppyMotor();
+ // DisableA20();
ChainLoadBiosBootSectorCode();
}
@@ -88,18 +95,18 @@
LoadAndBootPartition(IN OperatingSystemItem* OperatingSystem,
IN USHORT OperatingSystemVersion)
{
- ULONG_PTR SectionId;
- PCSTR SectionName = OperatingSystem->SystemPartition;
- CHAR SettingName[80];
- CHAR SettingValue[80];
- PARTITION_TABLE_ENTRY PartitionTableEntry;
- UCHAR DriveNumber;
- ULONG PartitionNumber;
-
- // Find all the message box settings and run them
+ ULONG_PTR SectionId;
+ PCSTR SectionName = OperatingSystem->SystemPartition;
+ CHAR SettingName[80];
+ CHAR SettingValue[80];
+ PARTITION_TABLE_ENTRY PartitionTableEntry;
+ UCHAR DriveNumber;
+ ULONG PartitionNumber;
+
+ /* Find all the message box settings and run them */
UiShowMessageBoxesInSection(SectionName);
- // Try to open the operating system section in the .ini file
+ /* Try to open the operating system section in the .ini file */
if (!IniOpenSection(SectionName, &SectionId))
{
sprintf(SettingName, "Section [%s] not found in freeldr.ini.\n",
SectionName);
@@ -107,7 +114,7 @@
return;
}
- // Read the boot drive
+ /* Read the boot drive */
if (!IniReadSettingByName(SectionId, "BootDrive", SettingValue,
sizeof(SettingValue)))
{
UiMessageBox("Boot drive not specified for selected OS!");
@@ -116,7 +123,7 @@
DriveNumber = DriveMapGetBiosDriveNumber(SettingValue);
- // Read the boot partition
+ /* Read the boot partition */
if (!IniReadSettingByName(SectionId, "BootPartition", SettingValue,
sizeof(SettingValue)))
{
UiMessageBox("Boot partition not specified for selected OS!");
@@ -125,21 +132,20 @@
PartitionNumber = atoi(SettingValue);
- // Get the partition table entry
+ /* Get the partition table entry */
if (!DiskGetPartitionEntry(DriveNumber, PartitionNumber, &PartitionTableEntry))
{
return;
}
- // Now try to read the partition boot sector
- // If this fails then abort
+ /* Now try to read the partition boot sector. If this fails then abort. */
if (!MachDiskReadLogicalSectors(DriveNumber,
PartitionTableEntry.SectorCountBeforePartition, 1, (PVOID)0x7C00))
{
UiMessageBox("Unable to read partition's boot sector.");
return;
}
- // Check for validity
+ /* Check for validity */
if (*((USHORT*)(0x7c00 + 0x1fe)) != 0xaa55)
{
UiMessageBox("Invalid boot sector magic (0xaa55)");
@@ -147,15 +153,18 @@
}
UiUnInitialize("Booting...");
- // Don't stop the floppy drive motor when we
- // are just booting a bootsector, or drive, or partition.
- // If we were to stop the floppy motor then
- // the BIOS wouldn't be informed and if the
- // next read is to a floppy then the BIOS will
- // still think the motor is on and this will
- // result in a read error.
- //DiskStopFloppyMotor();
- //DisableA20();
+
+ /*
+ * Don't stop the floppy drive motor when we
+ * are just booting a bootsector, or drive, or partition.
+ * If we were to stop the floppy motor then
+ * the BIOS wouldn't be informed and if the
+ * next read is to a floppy then the BIOS will
+ * still think the motor is on and this will
+ * result in a read error.
+ */
+ // DiskStopFloppyMotor();
+ // DisableA20();
FrldrBootDrive = DriveNumber;
ChainLoadBiosBootSectorCode();
}
@@ -164,16 +173,16 @@
LoadAndBootDrive(IN OperatingSystemItem* OperatingSystem,
IN USHORT OperatingSystemVersion)
{
- ULONG_PTR SectionId;
- PCSTR SectionName = OperatingSystem->SystemPartition;
- CHAR SettingName[80];
- CHAR SettingValue[80];
- UCHAR DriveNumber;
-
- // Find all the message box settings and run them
+ ULONG_PTR SectionId;
+ PCSTR SectionName = OperatingSystem->SystemPartition;
+ CHAR SettingName[80];
+ CHAR SettingValue[80];
+ UCHAR DriveNumber;
+
+ /* Find all the message box settings and run them */
UiShowMessageBoxesInSection(SectionName);
- // Try to open the operating system section in the .ini file
+ /* Try to open the operating system section in the .ini file */
if (!IniOpenSection(SectionName, &SectionId))
{
sprintf(SettingName, "Section [%s] not found in freeldr.ini.\n",
SectionName);
@@ -189,15 +198,14 @@
DriveNumber = DriveMapGetBiosDriveNumber(SettingValue);
- // Now try to read the boot sector (or mbr)
- // If this fails then abort
+ /* Now try to read the boot sector (or mbr). If this fails then abort. */
if (!MachDiskReadLogicalSectors(DriveNumber, 0, 1, (PVOID)0x7C00))
{
UiMessageBox("Unable to read boot sector");
return;
}
- // Check for validity
+ /* Check for validity */
if (*((USHORT*)(0x7c00 + 0x1fe)) != 0xaa55)
{
UiMessageBox("Invalid boot sector magic (0xaa55)");
@@ -205,15 +213,18 @@
}
UiUnInitialize("Booting...");
- // Don't stop the floppy drive motor when we
- // are just booting a bootsector, or drive, or partition.
- // If we were to stop the floppy motor then
- // the BIOS wouldn't be informed and if the
- // next read is to a floppy then the BIOS will
- // still think the motor is on and this will
- // result in a read error.
- //DiskStopFloppyMotor();
- //DisableA20();
+
+ /*
+ * Don't stop the floppy drive motor when we
+ * are just booting a bootsector, or drive, or partition.
+ * If we were to stop the floppy motor then
+ * the BIOS wouldn't be informed and if the
+ * next read is to a floppy then the BIOS will
+ * still think the motor is on and this will
+ * result in a read error.
+ */
+ // DiskStopFloppyMotor();
+ // DisableA20();
FrldrBootDrive = DriveNumber;
ChainLoadBiosBootSectorCode();
}