Author: evb
Date: Thu Feb 4 21:11:48 2010
New Revision: 45425
URL:
http://svn.reactos.org/svn/reactos?rev=45425&view=rev
Log:
- Reading MBR from RAMDISK does not work since RAMDISK starts at BootSector (rdoffset) and
disk sector functions are NULL. Build bogus signature/checksum for now, unless MBR really
needed later.
- Now FreeLDR crashes no more and arrives at FrLdrStartup to boot kernel and setup
paging.
Modified:
trunk/reactos/boot/freeldr/freeldr/arch/arm/loader.c
Modified: trunk/reactos/boot/freeldr/freeldr/arch/arm/loader.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/arm/loader.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/arm/loader.c [iso-8859-1] Thu Feb 4 21:11:48
2010
@@ -1031,13 +1031,13 @@
PLIST_ENTRY NextEntry, OldEntry;
PARC_DISK_INFORMATION ArcDiskInformation;
PARC_DISK_SIGNATURE ArcDiskSignature;
- ULONG ArcDiskCount = 0, Checksum = 0;
+ ULONG ArcDiskCount = 0;
+#if 0
+ ULONG Checksum = 0;
PMASTER_BOOT_RECORD Mbr;
PULONG Buffer;
+#endif
PWCHAR ArmModuleName;
-
- TuiPrintf("About to prepare for kernel boot\n");
- while (TRUE);
//
// Allocate the ARM Shared Heap
@@ -1533,6 +1533,7 @@
InitializeListHead(&ArcDiskInformation->DiskSignatureListHead);
ArmLoaderBlock->ArcDiskInformation = (PVOID)((ULONG_PTR)ArcDiskInformation |
KSEG0_BASE);
+#if 0
//
// Read the MBR
//
@@ -1546,12 +1547,13 @@
for (i = 0; i < 128; i++) Checksum += Buffer[i];
Checksum = ~Checksum + 1;
+#endif
//
// Allocate a disk signature and fill it out
//
ArcDiskSignature = ArmAllocateFromSharedHeap(sizeof(ARC_DISK_SIGNATURE));
- ArcDiskSignature->Signature = Mbr->Signature;
- ArcDiskSignature->CheckSum = Checksum;
+ ArcDiskSignature->Signature = 0xBADAB00B;// Mbr->Signature;
+ ArcDiskSignature->CheckSum = 0xFAB4BEEF; //Checksum;
//
// Allocare a string for the name and fill it out