- Implement beginnings of Ramdisk Port Driver. Planning compatibility with ISO, SDI...
authorReactOS Portable Systems Group <ros-arm-bringup@svn.reactos.org>
Sun, 29 Jun 2008 02:58:05 +0000 (02:58 +0000)
committerReactOS Portable Systems Group <ros-arm-bringup@svn.reactos.org>
Sun, 29 Jun 2008 02:58:05 +0000 (02:58 +0000)
- New license for our code.

svn path=/trunk/; revision=34170

36 files changed:
reactos/COPYING.ARM [new file with mode: 0644]
reactos/boot/freeldr/freeldr/arch/arm/boot.s
reactos/boot/freeldr/freeldr/arch/arm/ferouart.c
reactos/boot/freeldr/freeldr/arch/arm/loader.c
reactos/boot/freeldr/freeldr/arch/arm/macharm.c
reactos/boot/freeldr/freeldr/arch/arm/versuart.c
reactos/boot/freeldr/freeldr/cmdline.c
reactos/boot/freeldr/freeldr/disk/ramdisk.c
reactos/boot/freeldr/freeldr/include/arch/arm/hardware.h
reactos/boot/freeldr/freeldr/include/ramdisk.h
reactos/drivers/storage/class/directory.rbuild
reactos/drivers/storage/class/ramdisk/ramdisk.c [new file with mode: 0644]
reactos/drivers/storage/class/ramdisk/ramdisk.rbuild [new file with mode: 0644]
reactos/drivers/storage/class/ramdisk/ramdisk.rc [new file with mode: 0644]
reactos/hal/halarm/generic/hal.c
reactos/hal/halarm/include/hal.h
reactos/include/reactos/arm/peripherals/pl011.h
reactos/include/reactos/arm/peripherals/pl190.h
reactos/include/reactos/arm/peripherals/sp804.h
reactos/lib/rtl/arm/debug_asm.S
reactos/ntoskrnl/config/arm/cmhardwr.c
reactos/ntoskrnl/ex/exintrin.c
reactos/ntoskrnl/ex/fastinterlck.c
reactos/ntoskrnl/include/internal/arm/ksarm.h
reactos/ntoskrnl/ke/arm/arm_kprintf.c
reactos/ntoskrnl/ke/arm/boot.s
reactos/ntoskrnl/ke/arm/cpu.c
reactos/ntoskrnl/ke/arm/ctxswtch.s
reactos/ntoskrnl/ke/arm/exp.c
reactos/ntoskrnl/ke/arm/kiinit.c
reactos/ntoskrnl/ke/arm/thrdini.c
reactos/ntoskrnl/ke/arm/trap.s
reactos/ntoskrnl/ke/arm/trapc.c
reactos/ntoskrnl/mm/arm/stubs.c
reactos/ntoskrnl/ps/arm/psctx.c
reactos/ntoskrnl/rtl/arm/rtlexcpt.c

diff --git a/reactos/COPYING.ARM b/reactos/COPYING.ARM
new file mode 100644 (file)
index 0000000..90d23b3
--- /dev/null
@@ -0,0 +1,23 @@
+Copyright 2008 ReactOS Portable Systems Group. All rights reserved. 
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided
+that the following conditions are met: 
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and
+   the following disclaimer. 
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions
+   and the following disclaimer in the documentation and/or other materials provided with the 
+   distribution. 
+
+THIS SOFTWARE IS PROVIDED BY THE REACTOS PORTABLE SYSTEMS GROUP ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REACTOS PORTABLE SYSTEMS GROUP
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those of the authors and
+should not be interpreted as representing official policies, either expressed or implied, of the ReactOS
+Project.
index 3c046c0..a4fe1d3 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/arch/arm/boot.s
  * PURPOSE:         Implements the entry point for ARM machines
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 351c3fb..0c8f9b0 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/arch/arm/ferouart.c
  * PURPOSE:         Implements code for Feroceon boards using the 16550 UART
  * PROGRAMMERS:     ReactOS Portable Systems Group
index daae174..35860b4 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/arch/arm/loader.c
  * PURPOSE:         ARM Kernel Loader
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 08dc689..6e2595f 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/arch/arm/marcharm.c
  * PURPOSE:         Provides abstraction between the ARM Boot Loader and FreeLDR
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 3119bc7..36d4830 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/arch/arm/versuart.c
  * PURPOSE:         Implements code for Versatile boards using the PL011 UART
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 9a5e459..d275df6 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/cmdline.c
  * PURPOSE:         FreeLDR Command Line Parsing
  * PROGRAMMERS:     ReactOS Portable Systems Group
index b31a1aa..ee08796 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/arch/i386/ramdisk.c
  * PURPOSE:         Implements routines to support booting from a RAM Disk
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 76681e9..60f9186 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/include/arch/arm/hardware.h
  * PURPOSE:         Header for ARC definitions (to be cleaned up)
  * PROGRAMMERS:     ReactOS Portable Systems Group
index d1e69aa..f53e886 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Boot Loader
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            boot/freeldr/include/ramdisk.h
  * PURPOSE:         Header file for ramdisk support
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 954bba3..2d99750 100644 (file)
@@ -10,4 +10,7 @@
        <directory name="disk">\r
                <xi:include href="disk/disk.rbuild" />\r
        </directory>\r
+       <directory name="ramdisk">\r
+               <xi:include href="ramdisk/ramdisk.rbuild" />\r
+       </directory>\r
 </group>\r
diff --git a/reactos/drivers/storage/class/ramdisk/ramdisk.c b/reactos/drivers/storage/class/ramdisk/ramdisk.c
new file mode 100644 (file)
index 0000000..e65591e
--- /dev/null
@@ -0,0 +1,438 @@
+/*
+ * PROJECT:         Ramdisk Class Driver
+ * LICENSE:         2-clause BSD - See COPYING.ARM
+ * FILE:            drivers/storage/class/ramdisk/ramdisk.c
+ * PURPOSE:         Main Driver Routines
+ * PROGRAMMERS:     ReactOS Portable Systems Group
+ */
+
+/* INCLUDES *******************************************************************/
+
+#include <ntddk.h>
+#include <ntdddisk.h>
+#include <scsi.h>
+#include <ntddscsi.h>
+#include <mountdev.h>
+#include <mountmgr.h>
+#include <helper.h>
+#include <ketypes.h>
+#include <arc/arc.h>
+#define NDEBUG
+#include <debug.h>
+
+/* GLOBALS ********************************************************************/
+
+ULONG MaximumViewLength;
+ULONG MaximumPerDiskViewLength;
+ULONG ReportDetectedDevice;
+ULONG MarkRamdisksAsRemovable;
+ULONG MinimumViewCount;
+ULONG DefaultViewCount;
+ULONG MaximumViewCount;
+ULONG MinimumViewLength;
+ULONG DefaultViewLength;
+UNICODE_STRING DriverRegistryPath;
+BOOLEAN ExportBootDiskAsCd;
+BOOLEAN IsWinPEBoot;
+
+/* FUNCTIONS ******************************************************************/
+
+VOID
+NTAPI
+QueryParameters(IN PUNICODE_STRING RegistryPath)
+{
+    ULONG MinView, DefView, MinViewLength, DefViewLength, MaxViewLength;
+    RTL_QUERY_REGISTRY_TABLE QueryTable[10];
+    
+    //
+    // Set defaults
+    //
+    MaximumViewLength = 0x10000000u;
+    MaximumPerDiskViewLength = 0x10000000u;
+    ReportDetectedDevice = 0;
+    MarkRamdisksAsRemovable = 0;
+    MinimumViewCount = 2;
+    DefaultViewCount = 16;
+    MaximumViewCount = 64;
+    MinimumViewLength = 0x10000u;
+    DefaultViewLength = 0x100000u;
+    
+    //
+    // Setup the query table and query the registry
+    //
+    RtlZeroMemory(QueryTable, sizeof(QueryTable));
+    QueryTable[0].Flags = 1;
+    QueryTable[0].Name = L"Parameters";
+    QueryTable[1].Flags = 32;
+    QueryTable[1].Name = L"ReportDetectedDevice";
+    QueryTable[1].EntryContext = &ReportDetectedDevice;
+    QueryTable[2].Flags = 32;
+    QueryTable[2].Name = L"MarkRamdisksAsRemovable";
+    QueryTable[2].EntryContext = &MarkRamdisksAsRemovable;
+    QueryTable[3].Flags = 32;
+    QueryTable[3].Name = L"MinimumViewCount";
+    QueryTable[3].EntryContext = &MinimumViewCount;
+    QueryTable[4].Flags = 32;
+    QueryTable[4].Name = L"DefaultViewCount";
+    QueryTable[4].EntryContext = &DefaultViewCount;
+    QueryTable[5].Flags = 32;
+    QueryTable[5].Name = L"MaximumViewCount";
+    QueryTable[5].EntryContext = &MaximumViewCount;
+    QueryTable[6].Flags = 32;
+    QueryTable[6].Name = L"MinimumViewLength";
+    QueryTable[6].EntryContext = &MinimumViewLength;
+    QueryTable[7].Flags = 32;
+    QueryTable[7].Name = L"DefaultViewLength";
+    QueryTable[7].EntryContext = &DefaultViewLength;
+    QueryTable[8].Flags = 32;
+    QueryTable[8].Name = L"MaximumViewLength";
+    QueryTable[8].EntryContext = &MaximumViewLength;
+    QueryTable[9].Flags = 32;
+    QueryTable[9].Name = L"MaximumPerDiskViewLength";
+    QueryTable[9].EntryContext = &MaximumPerDiskViewLength;
+    RtlQueryRegistryValues(RTL_REGISTRY_OPTIONAL,
+                           RegistryPath->Buffer,
+                           QueryTable,
+                           NULL,
+                           NULL);
+    
+    //
+    // Parse minimum view count, cannot be bigger than 256 or smaller than 2
+    //
+    MinView = MinimumViewCount;
+    if (MinimumViewCount >= 2)
+    {
+        if (MinimumViewCount > 256) MinView = 256;
+    }
+    else
+    {
+        MinView = 2;
+    }
+    MinimumViewCount = MinView;
+
+    //
+    // Parse default view count, cannot be bigger than 256 or smaller than minimum
+    //
+    DefView = DefaultViewCount;
+    if (DefaultViewCount >= MinView)
+    {
+        if (DefaultViewCount > 256) DefView = 256;
+    }
+    else
+    {
+        DefView = MinView;
+    }
+    DefaultViewCount = DefView;
+    
+    //
+    // Parse maximum view count, cannot be bigger than 256 or smaller than default
+    //
+    if (MaximumViewCount >= DefView)
+    {
+        if (MaximumViewCount > 256) MaximumViewCount = 256;
+    }
+    else
+    {
+        MaximumViewCount = DefView;
+    }
+    
+    //
+    // Parse minimum view length, cannot be bigger than 1GB or smaller than 64KB
+    //
+    MinViewLength = MinimumViewLength;
+    if (MinimumViewLength >= 0x10000)
+    {
+        if (MinimumViewLength > 0x40000000) MinViewLength = 0x40000000u;
+    }
+    else
+    {
+        MinViewLength = 0x10000u;
+    }
+    MinimumViewLength = MinViewLength;
+
+    //
+    // Parse default view length, cannot be bigger than 1GB or smaller than minimum
+    //
+    DefViewLength = DefaultViewLength;
+    if (DefaultViewLength >= MinViewLength)
+    {
+        if (DefaultViewLength > 0x40000000) DefViewLength = 0x40000000u;
+    }
+    else
+    {
+        DefViewLength = MinViewLength;
+    }
+    DefaultViewLength = DefViewLength;
+
+    //
+    // Parse maximum view length, cannot be bigger than 1GB or smaller than default
+    //
+    MaxViewLength = MaximumViewLength;
+    if (MaximumViewLength >= DefViewLength)
+    {
+        if (MaximumViewLength > 0x40000000) MaxViewLength = 0x40000000u;
+    }
+    else
+    {
+        MaxViewLength = DefViewLength;
+    }
+    MaximumViewLength = MaxViewLength;
+
+    //
+    // Parse maximum view length per disk, cannot be smaller than 16MB
+    //
+    if (MaximumPerDiskViewLength >= 0x1000000)
+    {
+        if (MaxViewLength > 0xFFFFFFFF) MaximumPerDiskViewLength = -1;
+    }
+    else
+    {
+        MaximumPerDiskViewLength = 0x1000000u;
+    }
+}
+
+NTSTATUS
+NTAPI
+RamdiskOpenClose(IN PDEVICE_OBJECT DeviceObject,
+                   IN PIRP Irp)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;
+}
+
+NTSTATUS
+NTAPI
+RamdiskReadWrite(IN PDEVICE_OBJECT DeviceObject,
+                 IN PIRP Irp)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;
+}
+
+NTSTATUS
+NTAPI
+RamdiskDeviceControl(IN PDEVICE_OBJECT DeviceObject,
+                     IN PIRP Irp)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;
+}
+
+NTSTATUS
+NTAPI
+RamdiskPnp(IN PDEVICE_OBJECT DeviceObject,
+           IN PIRP Irp)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;
+}
+
+NTSTATUS
+NTAPI
+RamdiskPower(IN PDEVICE_OBJECT DeviceObject,
+             IN PIRP Irp)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;
+}
+
+NTSTATUS
+NTAPI
+RamdiskSystemControl(IN PDEVICE_OBJECT DeviceObject,
+                     IN PIRP Irp)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;
+}
+
+NTSTATUS
+NTAPI
+RamdiskScsi(IN PDEVICE_OBJECT DeviceObject,
+            IN PIRP Irp)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;
+}
+
+NTSTATUS
+NTAPI
+RamdiskFlushBuffers(IN PDEVICE_OBJECT DeviceObject,
+                    IN PIRP Irp)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;
+}
+
+VOID
+NTAPI
+RamdiskUnload(IN PDRIVER_OBJECT DriverObject)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+}
+
+NTSTATUS
+NTAPI
+RamdiskAddDevice(IN PDRIVER_OBJECT DriverObject, 
+                 IN PDEVICE_OBJECT PhysicalDeviceObject)
+{
+    UNIMPLEMENTED;
+    while (TRUE);
+    return STATUS_SUCCESS;    
+}
+
+NTSTATUS
+NTAPI
+DriverEntry(IN PDRIVER_OBJECT DriverObject,
+            IN PUNICODE_STRING RegistryPath)
+{
+    PCHAR BootDeviceName, CommandLine;
+    PDEVICE_OBJECT PhysicalDeviceObject;
+    NTSTATUS Status;
+    DPRINT1("RAMDISK Class Driver\n");
+    
+    //
+    // Query ramdisk parameters
+    //
+    QueryParameters(RegistryPath);
+    
+    //
+    // Save the registry path
+    //
+    DriverRegistryPath = *RegistryPath;
+    DriverRegistryPath.Buffer = ExAllocatePoolWithTag(PagedPool,
+                                                      RegistryPath->Length +
+                                                      sizeof(WCHAR),
+                                                      TAG('R', 'a', 'm', 'd'));
+    if (!DriverRegistryPath.Buffer) return STATUS_INSUFFICIENT_RESOURCES;
+    RtlCopyUnicodeString(&DriverRegistryPath, RegistryPath);
+    
+    //
+    // Set device routines
+    //
+    DriverObject->MajorFunction[IRP_MJ_CREATE] = RamdiskOpenClose;
+    DriverObject->MajorFunction[IRP_MJ_CLOSE] = RamdiskOpenClose;
+    DriverObject->MajorFunction[IRP_MJ_READ] = RamdiskReadWrite;
+    DriverObject->MajorFunction[IRP_MJ_WRITE] = RamdiskReadWrite;
+    DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = RamdiskDeviceControl;
+    DriverObject->MajorFunction[IRP_MJ_PNP] = RamdiskPnp;
+    DriverObject->MajorFunction[IRP_MJ_POWER] = RamdiskPower;
+    DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = RamdiskSystemControl;
+    DriverObject->MajorFunction[IRP_MJ_SCSI] = RamdiskScsi;
+    DriverObject->MajorFunction[IRP_MJ_FLUSH_BUFFERS] = RamdiskFlushBuffers;
+    DriverObject->DriverExtension->AddDevice = RamdiskAddDevice;
+    DriverObject->DriverUnload = RamdiskUnload;
+    
+    //
+    // Check for a loader block
+    //
+    if (KeLoaderBlock)
+    {
+        //
+        // Get the boot device name
+        //
+        BootDeviceName = KeLoaderBlock->ArcBootDeviceName;
+        if (BootDeviceName)
+        {
+            //
+            // Check if we're booting from ramdisk
+            //
+            if ((strlen(BootDeviceName) >= 10) &&
+                !(_strnicmp(BootDeviceName, "ramdisk(0)", 10)))
+            {
+                //
+                // We'll have to tell the PnP Manager
+                //
+                ReportDetectedDevice = TRUE;
+                
+                //
+                // Check for a command line
+                //
+                CommandLine = KeLoaderBlock->LoadOptions;
+                if (CommandLine)
+                {
+                    //
+                    // Check if this is an ISO boot
+                    //
+                    if (strstr(CommandLine, "RDEXPORTASCD"))
+                    {
+                        //
+                        // Remember for later
+                        //
+                        ExportBootDiskAsCd = TRUE;
+                    }
+                    
+                    //
+                    // Check if this is PE boot
+                    //
+                    if (strstr(CommandLine, "MININT"))
+                    {
+                        //
+                        // Remember for later
+                        //
+                        IsWinPEBoot = TRUE;
+                    }
+                }
+            }
+            
+        }
+    }
+    
+    //
+    // Installing from Ramdisk isn't supported yet
+    //
+    ASSERT(KeLoaderBlock->SetupLdrBlock);
+    
+    //
+    // Are we reporting the device
+    //
+    if (ReportDetectedDevice)
+    {
+        //
+        // Do it
+        //
+        Status = IoReportDetectedDevice(DriverObject,
+                                        InterfaceTypeUndefined,
+                                        0xFFFFFFFF,
+                                        0xFFFFFFFF,
+                                        NULL,
+                                        NULL,
+                                        0,
+                                        &PhysicalDeviceObject);
+        if (NT_SUCCESS(Status))
+        {
+            //
+            // Create the device object
+            //
+            Status = RamdiskAddDevice(DriverObject, PhysicalDeviceObject);
+            if (NT_SUCCESS(Status))
+            {
+                //
+                // We're done
+                //
+                PhysicalDeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
+                Status = STATUS_SUCCESS;
+            }
+        }
+    }
+    else
+    {
+        //
+        // Done
+        //
+        Status = STATUS_SUCCESS;
+    }
+
+    //
+    // Done
+    //
+    return Status;
+}
diff --git a/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild b/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild
new file mode 100644 (file)
index 0000000..a726f9e
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
+<module name="ramdisk" type="kernelmodedriver" installbase="system32/drivers" installname="ramdisk.sys">
+       <bootstrap installbase="$(CDOUTPUT)" />
+       <linkerflag>-lgcc</linkerflag>
+       <library>ntoskrnl</library>
+       <library>hal</library>
+       <library>class2</library>
+       <library>scsiport</library>
+       <file>ramdisk.c</file>
+       <file>ramdisk.rc</file>
+</module>
diff --git a/reactos/drivers/storage/class/ramdisk/ramdisk.rc b/reactos/drivers/storage/class/ramdisk/ramdisk.rc
new file mode 100644 (file)
index 0000000..a9892d4
--- /dev/null
@@ -0,0 +1,5 @@
+#define REACTOS_VERSION_DLL
+#define REACTOS_STR_FILE_DESCRIPTION   "Ramdisk Class Driver\0"
+#define REACTOS_STR_INTERNAL_NAME       "ramdisk\0"
+#define REACTOS_STR_ORIGINAL_FILENAME  "ramdisk.sys\0"
+#include <reactos/version.rc>
index 928f4aa..a889d08 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS HAL
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            hal/halarm/generic/hal.c
  * PURPOSE:         Hardware Abstraction Layer
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 859c231..e16859b 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS HAL
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            hal/halarm/include/hal.h
  * PURPOSE:         Hardware Abstraction Layer Header
  * PROGRAMMERS:     ReactOS Portable Systems Group
index ec9208f..1f91dcc 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            include/reactos/arm/targets/pl011.h
  * PURPOSE:         PL011 Registers and Constants
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 935cced..0d266b4 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            include/reactos/arm/targets/pl190.h
  * PURPOSE:         PL190 Registers and Constants
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 8521344..7dea73b 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            include/reactos/arm/targets/pl011.h
  * PURPOSE:         SB804 Registers and Constants
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 7723982..8a5813d 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            rtl/arm/debug_asm.S
  * PURPOSE:         Cross-privilege Debugging and Exception Support for ARM
  * PROGRAMMERS:     ReactOS Portable Systems Group
index ea7162c..ba858e9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/config/arm/cmhardwr.c
  * PURPOSE:         Configuration Manager - ARM Specific Code
  * PROGRAMMERS:     ReactOS Portable Systems Group
index e9604a9..e813014 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
- * FILE:            ntoskrnl/ex/exinrin.c
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
+ * FILE:            ntoskrnl/ex/exintrin.c
  * PURPOSE:         Exported kernel functions which are now intrinsics
  * PROGRAMMERS:     ReactOS Portable Systems Group
  */
index 42fee84..18fd854 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ex/fastinterlck.c
  * PURPOSE:         Portable Ex*Interlocked and REGISTER routines for non-x86
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 0d93f8d..fb3c7b8 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/include/internal/arm/ksarm.h
  * PURPOSE:         Definitions and offsets for ARM Assembly and C code
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 69a5973..69099c4 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/arm_kprintf.c
  * PURPOSE:         Early serial printf-style kernel debugging (ARM bringup)
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 27a4938..d2188b6 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/boot.s
  * PURPOSE:         Implements the kernel entry point for ARM machines
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 12f3215..9ea476a 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/cpu.c
  * PURPOSE:         Implements routines for ARM CPU support
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 40c58ef..8cc4582 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/ctxswtch.s
  * PURPOSE:         Context Switch and Idle Thread on ARM
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 82e0028..5fdd93e 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/exp.c
  * PURPOSE:         Implements exception helper routines for ARM machines
  * PROGRAMMERS:     ReactOS Portable Systems Group
index f93f58b..59f69ab 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/kiinit.c
  * PURPOSE:         Implements the kernel entry point for ARM machines
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 2b94016..a94618b 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/thrdini.c
  * PURPOSE:         Implements thread context setup and startup for ARM machines
  * PROGRAMMERS:     ReactOS Portable Systems Group
index a4d5960..3cabe9d 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/trap.s
  * PURPOSE:         Support for exceptions and interrupts on ARM machines
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 1194903..935b223 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ke/arm/trapc.c
  * PURPOSE:         Implements the various trap handlers for ARM exceptions
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 652c880..0431324 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/mm/arm/stubs.c
  * PURPOSE:         ARM Memory Manager
  * PROGRAMMERS:     ReactOS Portable Systems Group
@@ -124,7 +124,7 @@ MmDeletePageTable(IN PEPROCESS Process,
     //
     // Not valid for kernel addresses
     //
-    DPRINT1("MmDeletePageTable(%p, %p)\n", Process, Address);
+    DPRINT("MmDeletePageTable(%p, %p)\n", Process, Address);
     ASSERT(Address < MmSystemRangeStart);
     
     //
@@ -388,7 +388,7 @@ MmCreateVirtualMappingForKernel(IN PVOID Address,
     MMPTE TempPte, TempPde;
     NTSTATUS Status;
     PFN_NUMBER Pfn;
-    DPRINT1("[KMAP]: %p %d\n", Address, PageCount);
+    DPRINT("[KMAP]: %p %d\n", Address, PageCount);
     //ASSERT(Address >= MmSystemRangeStart);
 
     //
@@ -679,7 +679,7 @@ MmCreateHyperspaceMapping(IN PFN_TYPE Page)
     //
     Address = HYPER_SPACE + ((PointerPte - FirstPte) * PAGE_SIZE);
     KiFlushSingleTb(FALSE, Address);
-    DPRINT1("[HMAP]: %p %lx\n", Address, Page);
+    DPRINT("[HMAP]: %p %lx\n", Address, Page);
     return Address;
 }
 
@@ -689,7 +689,7 @@ MmDeleteHyperspaceMapping(IN PVOID Address)
 {
     PFN_TYPE Pfn;
     PMMPTE PointerPte;
-    DPRINT1("[HUNMAP]: %p\n", Address);
+    DPRINT("[HUNMAP]: %p\n", Address);
     
     //
     // Get the PTE
index c23a3d9..53bcbe9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/ps/arm/pxctx.c
  * PURPOSE:         Process Manager: Set/Get Context for ARM
  * PROGRAMMERS:     ReactOS Portable Systems Group
index 65547be..01db49e 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * PROJECT:         ReactOS Kernel
- * LICENSE:         GPL - See COPYING in the top level directory
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
  * FILE:            ntoskrnl/rtl/arm/rtlexcpt.c
  * PURPOSE:         ARM Exception Helper Routines for Stack Walking
  * PROGRAMMERS:     ReactOS Portable Systems Group