Author: ros-arm-bringup
Date: Wed Feb 6 22:15:46 2008
New Revision: 32169
URL:
http://svn.reactos.org/svn/reactos?rev=32169&view=rev
Log:
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
Modified:
trunk/reactos/boot/freeldr/freeldr/arch/arm/stubs.c
Modified: trunk/reactos/boot/freeldr/freeldr/arch/arm/stubs.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/arch/arm/stubs.c (original)
+++ trunk/reactos/boot/freeldr/freeldr/arch/arm/stubs.c Wed Feb 6 22:15:46 2008
@@ -35,10 +35,23 @@
//
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 @@
ArmDiskGetDriveGeometry(IN ULONG DriveNumber,
OUT PGEOMETRY Geometry)
{
- while (TRUE);
+ ASSERT(FALSE);
return FALSE;
}
@@ -107,14 +120,14 @@
IN ULONG SectorCount,
IN PVOID Buffer)
{
- while (TRUE);
+ ASSERT(FALSE);
return FALSE;
}
ULONG
ArmDiskGetCacheableBlockCount(IN ULONG DriveNumber)
{
- while (TRUE);
+ ASSERT(FALSE);
return FALSE;
}