From f00336e8df85bbca61a13fc8ea8dd3ffc6183760 Mon Sep 17 00:00:00 2001 From: evb Date: Thu, 4 Feb 2010 20:11:48 +0000 Subject: [PATCH] - 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. svn path=/trunk/; revision=45425 --- reactos/boot/freeldr/freeldr/arch/arm/loader.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/reactos/boot/freeldr/freeldr/arch/arm/loader.c b/reactos/boot/freeldr/freeldr/arch/arm/loader.c index ee7402df88f..3651a4453b9 100644 --- a/reactos/boot/freeldr/freeldr/arch/arm/loader.c +++ b/reactos/boot/freeldr/freeldr/arch/arm/loader.c @@ -1031,14 +1031,14 @@ ArmPrepareForReactOS(IN BOOLEAN Setup) 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 @@ ArmPrepareForReactOS(IN BOOLEAN Setup) InitializeListHead(&ArcDiskInformation->DiskSignatureListHead); ArmLoaderBlock->ArcDiskInformation = (PVOID)((ULONG_PTR)ArcDiskInformation | KSEG0_BASE); +#if 0 // // Read the MBR // @@ -1546,12 +1547,13 @@ ArmPrepareForReactOS(IN BOOLEAN Setup) 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