Make RAM disk support work on x86 as well (it is now generic):
authorReactOS Portable Systems Group <ros-arm-bringup@svn.reactos.org>
Sun, 17 Aug 2008 02:35:30 +0000 (02:35 +0000)
committerReactOS Portable Systems Group <ros-arm-bringup@svn.reactos.org>
Sun, 17 Aug 2008 02:35:30 +0000 (02:35 +0000)
1) Don't assert if loaded from setup. On NT this means special things, but we don't care about that for now.
2) Add to txtsetup.sif along with the other core FS drivers. This will eventually allow installing from ramdisk as well (and later, over the network)
3) Add to hivesys_i386.inf so that the driver is initialized.

RAM disk now works flawlessly on x86 -- just make sure to follow the previous instructions, and add <size of your RAM disk> to your total memory available to ReactOS.

svn path=/trunk/; revision=35402

reactos/boot/bootdata/hivesys_i386.inf
reactos/boot/bootdata/txtsetup.sif
reactos/drivers/storage/class/ramdisk/ramdisk.c

index dc907b5..6ecad64 100644 (file)
@@ -25,6 +25,10 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4D36E975-E325-11CE-BFC1-08002BE103
 HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4D36E975-E325-11CE-BFC1-08002BE10318}","NoDisplayClass",0x00000000,"1"
 HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4D36E975-E325-11CE-BFC1-08002BE10318}","NoInstallClass",0x00000000,"1"
 
+HKLM,"SYSTEM\CurrentControlSet\Control\Class\{9D6D66A6-0B0C-4563-9077-A0E9A7955AE4}",,0x00000000,"Ramdisk"
+HKLM,"SYSTEM\CurrentControlSet\Control\Class\{9D6D66A6-0B0C-4563-9077-A0E9A7955AE4}","Class",0x00000000,"Ramdisk"
+HKLM,"SYSTEM\CurrentControlSet\Control\Class\{9D6D66A6-0B0C-4563-9077-A0E9A7955AE4}","Icon",0x00000000,"-5"
+
 ; Default computer name settings
 HKLM,"SYSTEM\CurrentControlSet\Control\ComputerName",,0x00000012
 HKLM,"SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName",0x00000002,"COMPUTERNAME"
@@ -1025,6 +1029,13 @@ HKLM,"SYSTEM\CurrentControlSet\Services\fastfat","ImagePath",0x00020000,"system3
 HKLM,"SYSTEM\CurrentControlSet\Services\fastfat","Start",0x00010001,0x00000000
 HKLM,"SYSTEM\CurrentControlSet\Services\fastfat","Type",0x00010001,0x00000002
 
+; RAM Disk class driver
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","ErrorControl",0x00010001,0x00000000
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","Group",0x00000000,"Boot File System"
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","ImagePath",0x00020000,"system32\drivers\ramdisk.sys"
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","Start",0x00010001,0x00000000
+HKLM,"SYSTEM\CurrentControlSet\Services\RamDisk","Type",0x00010001,0x00000002
+
 ; EXT2 Filesystem driver
 HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","ErrorControl",0x00010001,0x00000000
 HKLM,"SYSTEM\CurrentControlSet\Services\Ext2fs","Group",0x00000000,"Boot File System"
index 1c1bcf3..b9e1a50 100644 (file)
@@ -33,6 +33,7 @@ pci.sys=,,,,,,,,,,,,4
 scsiport.sys=,,,,,,x,,,,,,4
 uniata.sys=,,,,,,,,,,,,4
 fastfat.sys=,,,,,,x,,,,,,4
+ramdisk.sys=,,,,,,x,,,,,,4
 ext2.sys=,,,,,,x,,,,,,4
 
 [HardwareIdsDatabase]
index 0a15a6c..59f3d24 100644 (file)
@@ -2284,7 +2284,7 @@ RamdiskAddDevice(IN PDRIVER_OBJECT DriverObject,
                        //
                        // Are we being booted from setup? Not yet supported
                        //
-                       ASSERT (!KeLoaderBlock->SetupLdrBlock);
+                       //ASSERT(!KeLoaderBlock->SetupLdrBlock);
            }
 
                //
@@ -2308,6 +2308,7 @@ DriverEntry(IN PDRIVER_OBJECT DriverObject,
     PCHAR BootDeviceName, CommandLine;
     PDEVICE_OBJECT PhysicalDeviceObject = NULL;
     NTSTATUS Status;
+    DPRINT1("RAM Disk Driver Initialized\n");
     
     //
     // Query ramdisk parameters
@@ -2399,7 +2400,7 @@ DriverEntry(IN PDRIVER_OBJECT DriverObject,
     //
     // Installing from Ramdisk isn't supported yet
     //
-    ASSERT(!KeLoaderBlock->SetupLdrBlock);
+    //ASSERT(!KeLoaderBlock->SetupLdrBlock);
     
     //
     // Are we reporting the device