From 336ca7d838536130decd9158d2a2d023f64f8d23 Mon Sep 17 00:00:00 2001 From: ReactOS Portable Systems Group Date: Wed, 6 Feb 2008 19:15:46 +0000 Subject: [PATCH] We now enable ramdisk support by calling RamDiskSwitchFromBios() to allow the ramdisk routines to take control of disk r/w. Unlike the x86 virtual-ramdisk, the ramdisk here is also used as boot device, not only system device. Current FreeLDR output: Booting FreeLDR... FreeLoader v3.0 for ARM Bootargs: rdbase=0x2000000 rdsize=0x1400000 This file system has cluster sizes bigger than 64k. FreeLoader does not support this. Press any key svn path=/trunk/; revision=32169 --- reactos/boot/freeldr/freeldr/arch/arm/stubs.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/reactos/boot/freeldr/freeldr/arch/arm/stubs.c b/reactos/boot/freeldr/freeldr/arch/arm/stubs.c index c2f64a1845c..87b22710a16 100644 --- a/reactos/boot/freeldr/freeldr/arch/arm/stubs.c +++ b/reactos/boot/freeldr/freeldr/arch/arm/stubs.c @@ -35,10 +35,23 @@ ArmDiskGetBootVolume(IN PULONG DriveNumber, // ASSERT(gRamDiskBase); ASSERT(gRamDiskSize); + + // + // Use magic ramdisk drive number and count the number of 512-byte sectors + // *DriveNumber = 0x49; *StartSector = 0; *SectorCount = gRamDiskSize * 512; + + // + // Ramdisk support is FAT-only for now + // *FsType = FS_FAT; + + // + // Now that ramdisk is enabled, use ramdisk routines + // + RamDiskSwitchFromBios(); return TRUE; } @@ -88,7 +101,7 @@ BOOLEAN ArmDiskGetDriveGeometry(IN ULONG DriveNumber, OUT PGEOMETRY Geometry) { - while (TRUE); + ASSERT(FALSE); return FALSE; } @@ -107,14 +120,14 @@ ArmDiskReadLogicalSectors(IN ULONG DriveNumber, IN ULONG SectorCount, IN PVOID Buffer) { - while (TRUE); + ASSERT(FALSE); return FALSE; } ULONG ArmDiskGetCacheableBlockCount(IN ULONG DriveNumber) { - while (TRUE); + ASSERT(FALSE); return FALSE; }