Ready for Alpha release
authorJustin Sobota <jsobota@ti.com>
Thu, 7 Feb 2013 21:33:13 +0000 (16:33 -0500)
committerJustin Sobota <jsobota@ti.com>
Thu, 7 Feb 2013 21:33:13 +0000 (16:33 -0500)
device/Module.xs [new file with mode: 0644]
docs/RM_SoftwareManifest.doc
docs/RM_SoftwareManifest.pdf
docs/ReleaseNotes_RM.doc [new file with mode: 0644]
docs/ReleaseNotes_RM.pdf
docs/ReleaseNotes_RM_.doc [deleted file]
package.bld
rm.h

diff --git a/device/Module.xs b/device/Module.xs
new file mode 100644 (file)
index 0000000..c0271cd
--- /dev/null
@@ -0,0 +1,33 @@
+/******************************************************************************
+ * FILE PURPOSE: RM device specific files.
+ ******************************************************************************
+ * FILE NAME: module.xs
+ *
+ * DESCRIPTION: 
+ *  This file contains the module specification for RM device specific files.
+ *
+ * Copyright (C) 2012-2013, Texas Instruments, Inc.
+ *****************************************************************************/
+
+/* Load the library utility. */
+var libUtility = xdc.loadCapsule ("../build/buildlib.xs");
+
+/**************************************************************************
+ * FUNCTION NAME : modBuild
+ **************************************************************************
+ * DESCRIPTION   :
+ *  The function is used to add all the source files in the device 
+ *  directory into the package.
+ **************************************************************************/
+function modBuild() 
+{
+    /* Add all the .dts files to the release package. */
+    var configFiles = libUtility.listAllFiles (".dts", "device", true);
+    for (var k = 0 ; k < configFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = configFiles[k];
+
+    /* Add all the .dtb files to the release package. */
+    var configFiles = libUtility.listAllFiles (".dtb", "device", true);
+    for (var k = 0 ; k < configFiles.length; k++)
+        Pkg.otherFiles[Pkg.otherFiles.length++] = configFiles[k];        
+}
index db3099bb4a9bc9892eab4c7df75f211818840bb9..327d431ae9665008d186fd7f697d7bfb5f002fad 100644 (file)
Binary files a/docs/RM_SoftwareManifest.doc and b/docs/RM_SoftwareManifest.doc differ
index b5b08ec335633d0a623e50f4f58fe4e13c010119..24528dcf45638e7d4db8f497a18171c0f465f295 100644 (file)
Binary files a/docs/RM_SoftwareManifest.pdf and b/docs/RM_SoftwareManifest.pdf differ
diff --git a/docs/ReleaseNotes_RM.doc b/docs/ReleaseNotes_RM.doc
new file mode 100644 (file)
index 0000000..e7fe5fc
Binary files /dev/null and b/docs/ReleaseNotes_RM.doc differ
index 76ac9920170b4364e9a9a49a6bed122c639c5cf9..1e97011436a37230f43861ff4b81345b4b555d5d 100644 (file)
Binary files a/docs/ReleaseNotes_RM.pdf and b/docs/ReleaseNotes_RM.pdf differ
diff --git a/docs/ReleaseNotes_RM_.doc b/docs/ReleaseNotes_RM_.doc
deleted file mode 100644 (file)
index 1f30e9f..0000000
Binary files a/docs/ReleaseNotes_RM_.doc and /dev/null differ
index 751f1cb2415c03b22483a01e03dbe70b7499c4ac..7befa1239c88df2dbbeb7938fb07204b65ded910 100644 (file)
@@ -19,7 +19,7 @@
  *****************************************************************************/\r
 \r
 /* List of all subdirectories that combine to make the RM Package. */\r
-var subDirectories = [ "src", "docs", "include", "test", "util"];\r
+var subDirectories = ["src", "docs", "device", "include", "test", "util"];\r
 \r
 /* Determine if we need to create the InstallJammer Application or not? \r
  * RM Deliverables be either of the following formats:\r
diff --git a/rm.h b/rm.h
index 0a14033f12460de03438982e70d185a141c5d197..d74afb4c4b64f0b8d77c262dd9dbe8735c31126b 100644 (file)
--- a/rm.h
+++ b/rm.h
@@ -56,8 +56,83 @@ extern "C" {
  *
  *   @section intro  Introduction
  *
- *   The Resource Manager 
- *  
+ *   The Resource Manager (RM) is designed to provide an easy to use, extensible
+ *   uinified resource management solution on TI devices.  RM can be integrated by 
+ *   a system application to provide resource management services to the system 
+ *   temporally (pre-main/post-main) and spatially (system subcomponents, task,
+ *   cores).
+ *
+ *   The RM architecture is instance based.  All RM resource management services 
+ *   must originate from a RM instance.  Resource permissions are assigned by a 
+ *   system integrator using RM instance names provided during the initialization
+ *   of each RM instance in use.  There are three types of RM instances, all of
+ *   which can be used by the system to request resource management services:
+ *    - Server - Manages all resource data structures including the resource
+ *               allocators, the permissions policies, and a simple NameServer.
+ *               There can only be one Server per RM ecosystem.  If two Servers
+ *               are initialized within a system they must manage mutually
+ *               exclusive sets of device resources.  There is no limit to the 
+ *               number of Client and Client Delegate instances that can connect
+ *               to the Server
+ *    - Client - Used by system components to request resource services.  There is
+ *               no limit to the number of Clients a system can have.  Client
+ *               names must be unique since resource permissions are assigned based
+ *               on RM instance names.  Clients can connect to at most one Server
+ *               or Client Delegate, but not both at the same time.
+ *    - Client Delegate (CD) - At the moment the CD is not different from the
+ *                             Client.  However, in the future the CD will be able
+ *                             to act as a proxy for the Server.  The CD will be
+ *                             able to satisfy some service requests from Clients,
+ *                             offloading some processing from the Server.  This 
+ *                             feature will be helpful in situations where a
+ *                             slower data path exists between the Server and
+ *                             CD/Client instances.  There is no limit to the number
+ *                             of Clients that can connect to a CD.  The CD can
+ *                             connect to at most one Server.
+ *
+ *   RM instances communicate via a generic transport interface.  The RM transport
+ *   interface expects the application to configure and manage the transport data paths
+ *   between RM instances.  This allows RM to easily extend to different device 
+ *   configurations and different devices entirely.
+ *
+ *   RM utilizes the BDS-licensed, open source, Flattened Device Tree format to 
+ *   specify what resources are managed by RM as well as the RM instance permissions
+ *   for managed resources.  The Global Resource List or GRL defines all device 
+ *   resources and their ranges that will be tracked by the RM Server.  Addition or 
+ *   subtraction of resources from RM requires one modify only the GRL.  RM source code
+ *   changes are not required to add or subtract resources from RM's umbrella of 
+ *   management.  RM Policies specify resource permissions for the RM instances.  There
+ *   are two types of Policies:
+ *    - Global Policy - Provided to the Server at initialization and defines the 
+ *                      resource permissions for all RM instances in the system.
+ *                      All service requests will be validated against the Global
+ *                      Policy on the Server.  If the RM instance is found to not
+ *                      hold the privileges for the request a denial of the service
+ *                      will be issued back to the requesting instance.
+ *    - Static Policy - Optionally provided to Client and CD instances at
+ *                      initialization.  Allows these instances to statically 
+ *                      allocate resources.  This feature is typically used
+ *                      for RM instances that must allocate resources prior
+ *                      to the transport connection to the Server being established.
+ *                      Resources allocated via any Static Policies will
+ *                      be validated against the Global Policy once the transport 
+ *                      to the Server has been fully established.  If a Static
+ *                      Policy request fails validation with the Global Policy the
+ *                      RM instance that issued the static request will be placed
+ *                      into a locked state.  The locked state prevents any further
+ *                      service requests from the instance.
+ *
+ *   Combined, the GRL and Policy Device Tree implementations allow RM to easily extend 
+ *   to new resources without the need to recompile the RM source code.
+ *
+ *   RM instances currently provides the following resource services:
+ *    - Allocate (initialize) - Allocate a resource for initialization
+ *    - Allocate (usage)      - Allocate a resource for use
+ *    - Free                  - Free an allocated resource (The free must originate
+ *                              from the RM instance that allocated the resource
+ *    - Map resource to name  - Map a specified resource to a NameServer name
+ *    - Unmap named resource  - Unmap a resource from an existing NameServer name
+ *    - Get resource by name  - Returns a resource based on a provided NameServer name
  */
  
 /* Define RM_API as a master group in Doxygen format and add all RM API