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/a... ============================================================================== --- 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