mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:32:59 +00:00
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
This commit is contained in:
parent
5a83b091b5
commit
336ca7d838
1 changed files with 16 additions and 3 deletions
|
@ -35,10 +35,23 @@ ArmDiskGetBootVolume(IN PULONG DriveNumber,
|
||||||
//
|
//
|
||||||
ASSERT(gRamDiskBase);
|
ASSERT(gRamDiskBase);
|
||||||
ASSERT(gRamDiskSize);
|
ASSERT(gRamDiskSize);
|
||||||
|
|
||||||
|
//
|
||||||
|
// Use magic ramdisk drive number and count the number of 512-byte sectors
|
||||||
|
//
|
||||||
*DriveNumber = 0x49;
|
*DriveNumber = 0x49;
|
||||||
*StartSector = 0;
|
*StartSector = 0;
|
||||||
*SectorCount = gRamDiskSize * 512;
|
*SectorCount = gRamDiskSize * 512;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Ramdisk support is FAT-only for now
|
||||||
|
//
|
||||||
*FsType = FS_FAT;
|
*FsType = FS_FAT;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Now that ramdisk is enabled, use ramdisk routines
|
||||||
|
//
|
||||||
|
RamDiskSwitchFromBios();
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +101,7 @@ BOOLEAN
|
||||||
ArmDiskGetDriveGeometry(IN ULONG DriveNumber,
|
ArmDiskGetDriveGeometry(IN ULONG DriveNumber,
|
||||||
OUT PGEOMETRY Geometry)
|
OUT PGEOMETRY Geometry)
|
||||||
{
|
{
|
||||||
while (TRUE);
|
ASSERT(FALSE);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,14 +120,14 @@ ArmDiskReadLogicalSectors(IN ULONG DriveNumber,
|
||||||
IN ULONG SectorCount,
|
IN ULONG SectorCount,
|
||||||
IN PVOID Buffer)
|
IN PVOID Buffer)
|
||||||
{
|
{
|
||||||
while (TRUE);
|
ASSERT(FALSE);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
ArmDiskGetCacheableBlockCount(IN ULONG DriveNumber)
|
ArmDiskGetCacheableBlockCount(IN ULONG DriveNumber)
|
||||||
{
|
{
|
||||||
while (TRUE);
|
ASSERT(FALSE);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue