//
// Now set default disk handling routines -- we don't need to override
//
- MachVtbl.DiskGetBootVolume = DiskGetBootVolume;
- MachVtbl.DiskGetSystemVolume = DiskGetSystemVolume;
MachVtbl.DiskGetBootPath = DiskGetBootPath;
MachVtbl.DiskGetBootDevice = DiskGetBootDevice;
MachVtbl.DiskBootingFromFloppy = DiskBootingFromFloppy;
MachVtbl.Beep = PcBeep;
MachVtbl.PrepareForReactOS = PcPrepareForReactOS;
MachVtbl.GetMemoryMap = PcMemGetMemoryMap;
- MachVtbl.DiskGetBootVolume = DiskGetBootVolume;
- MachVtbl.DiskGetSystemVolume = DiskGetSystemVolume;
MachVtbl.DiskGetBootPath = DiskGetBootPath;
MachVtbl.DiskGetBootDevice = DiskGetBootDevice;
MachVtbl.DiskBootingFromFloppy = DiskBootingFromFloppy;
MachVtbl.Beep = PcBeep;
MachVtbl.PrepareForReactOS = XboxPrepareForReactOS;
MachVtbl.GetMemoryMap = XboxMemGetMemoryMap;
- MachVtbl.DiskGetBootVolume = DiskGetBootVolume;
- MachVtbl.DiskGetSystemVolume = DiskGetSystemVolume;
MachVtbl.DiskGetBootPath = DiskGetBootPath;
MachVtbl.DiskGetBootDevice = DiskGetBootDevice;
MachVtbl.DiskBootingFromFloppy = DiskBootingFromFloppy;
return slots;
}
-/* Strategy:
- *
- * For now, it'll be easy enough to use the boot command line as our boot path.
- * Treat it as the path of a disk partition. We might even be able to get
- * away with grabbing a partition image by tftp in this scenario.
- */
-
-BOOLEAN PpcDiskGetBootVolume( PULONG DriveNumber, PULONGLONG StartSector, PULONGLONG SectorCount, int *FsType ) {
- *DriveNumber = 0;
- *StartSector = 0;
- *SectorCount = 0;
- *FsType = FS_FAT;
- return TRUE;
-}
-
-BOOLEAN PpcDiskGetSystemVolume( char *SystemPath,
- char *RemainingPath,
- PULONG Device ) {
- char *remain = strchr(SystemPath, '\\');
- if( remain ) {
- strcpy( RemainingPath, remain+1 );
- } else {
- RemainingPath[0] = 0;
- }
- *Device = 0;
- // Hack to be a bit easier on ram
- CacheSizeLimit = 64 * 1024;
- return TRUE;
-}
-
BOOLEAN PpcDiskGetBootPath( char *OutBootPath, unsigned Size ) {
strncpy( OutBootPath, BootPath, Size );
return TRUE;
MachVtbl.GetMemoryMap = PpcGetMemoryMap;
MachVtbl.DiskNormalizeSystemPath = PpcDiskNormalizeSystemPath;
- MachVtbl.DiskGetBootVolume = PpcDiskGetBootVolume;
- MachVtbl.DiskGetSystemVolume = PpcDiskGetSystemVolume;
MachVtbl.DiskGetBootPath = PpcDiskGetBootPath;
MachVtbl.DiskGetBootDevice = PpcDiskGetBootDevice;
MachVtbl.DiskBootingFromFloppy = PpcDiskBootingFromFloppy;
}
void PpcInit( of_proxy the_ofproxy ) {
+ // Hack to be a bit easier on ram
+ CacheSizeLimit = 64 * 1024;
ofproxy = the_ofproxy;
PpcDefaultMachVtbl();
if(ofproxy) PpcOfwInit();
MEMORY_DESCRIPTOR* (*GetMemoryDescriptor)(MEMORY_DESCRIPTOR* Current);
ULONG (*GetMemoryMap)(PBIOS_MEMORY_MAP BiosMemoryMap, ULONG MaxMemoryMapSize);
- BOOLEAN (*DiskGetBootVolume)(PULONG DriveNumber, PULONGLONG StartSector, PULONGLONG SectorCount, int *FsType);
- BOOLEAN (*DiskGetSystemVolume)(char *SystemPath, char *RemainingPath, PULONG Device);
BOOLEAN (*DiskGetBootPath)(char *BootPath, unsigned Size);
VOID (*DiskGetBootDevice)(PULONG BootDevice);
BOOLEAN (*DiskBootingFromFloppy)(VOID);
VOID MachVideoSync(VOID);
VOID MachBeep(VOID);
MEMORY_DESCRIPTOR* ArcGetMemoryDescriptor(MEMORY_DESCRIPTOR* Current);
-BOOLEAN MachDiskGetBootVolume(PULONG DriveNumber, PULONGLONG StartSector, PULONGLONG SectorCount, int *FsType);
-BOOLEAN
-MachDiskGetSystemVolume(char *SystemPath,
- char *RemainingPath,
- PULONG Device);
BOOLEAN MachDiskGetBootPath(char *BootPath, unsigned Size);
VOID MachDiskGetBootDevice(PULONG BootDevice);
BOOLEAN MachDiskBootingFromFloppy();
#define MachVideoSync() MachVtbl.VideoSync()
#define MachBeep() MachVtbl.Beep()
#define MachPrepareForReactOS(a) MachVtbl.PrepareForReactOS(a)
-#define MachDiskGetBootVolume(Drv, Start, Cnt, FsType) MachVtbl.DiskGetBootVolume((Drv), (Start), (Cnt), (FsType))
-#define MachDiskGetSystemVolume(SysPath, RemPath, Dev) MachVtbl.DiskGetSystemVolume((SysPath), (RemPath), (Dev))
#define MachDiskGetBootPath(Path, Size) MachVtbl.DiskGetBootPath((Path), (Size))
#define MachDiskGetBootDevice(BootDevice) MachVtbl.DiskGetBootDevice(BootDevice)
#define MachDiskBootingFromFloppy() MachVtbl.DiskBootingFromFloppy()
UiMessageBox("Invalid boot path");
goto LinuxBootFailed;
}
- if (!MachDiskGetSystemVolume(LinuxBootPath, NULL, NULL))
- {
- UiMessageBox("Failed to get system volume.");
- goto LinuxBootFailed;
- }
// Open the kernel
LinuxKernel = FsOpenFile(LinuxKernelName);
#undef MachVideoSync
#undef MachBeep
#undef MachPrepareForReactOS
-#undef MachDiskGetBootVolume
-#undef MachDiskGetSystemVolume
#undef MachDiskGetBootPath
#undef MachDiskGetBootDevice
#undef MachDiskBootingFromFloppy
}
}
-BOOLEAN
-MachDiskGetBootVolume(PULONG DriveNumber, PULONGLONG StartSector, PULONGLONG SectorCount, int *FsType)
-{
- return MachVtbl.DiskGetBootVolume(DriveNumber, StartSector, SectorCount, FsType);
-}
-
-BOOLEAN
-MachDiskGetSystemVolume(char *SystemPath,
- char *RemainingPath,
- PULONG Device)
-{
- return MachVtbl.DiskGetSystemVolume(SystemPath, RemainingPath, Device);
-}
-
BOOLEAN
MachDiskGetBootPath(char *BootPath, unsigned Size)
{
return;
}
- if (!MachDiskGetSystemVolume(FileName, FileName, NULL))
- {
- UiMessageBox("Failed to get system volume.");
- return;
- }
-
FilePointer = FsOpenFile(FileName);
if (!FilePointer)
{
/*
* Try to get system volume
*/
- if (!MachDiskGetSystemVolume(SystemPath, szBootPath, &LoaderBlock.BootDevice))
+ if (!DiskGetSystemVolume(SystemPath, szBootPath, &LoaderBlock.BootDevice))
{
UiMessageBox("Failed to get system volume.");
return;