]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/rm-lld.git/blobdiff - include/rm_loc.h
Policy performance improvement complete: bug testing
[keystone-rtos/rm-lld.git] / include / rm_loc.h
index 9a8bc07566705dea8099a40c3e8cdb96487d38f3..d3ec4d659f9a2af1c3d867d456a891e575977b5f 100644 (file)
@@ -95,38 +95,10 @@ typedef struct Rm_Transaction_s {
 
 /* Server-specific instance data */
 typedef struct {
-    /* Pointer to the global policy */
-    void                   *globalPolicy;
-    /* Policy size in bytes */
-    uint32_t                policySize;
-    /* Pointer to root entry of valid instance tree */
-    Rm_PolicyValidInstTree *validInstTree;
-    /* Pointer to allocator tree */
-    Rm_AllocatorTree       *allocatorTree;
     /* Pointer to the root entry of the NameServer */
-    Rm_NameServerTree      *nameServer;
+    Rm_NameServerTree *nameServer;
 } Rm_ServerInstData;
 
-/* Client Delegate-specific instance data */
-typedef struct {
-    /* Pointer to the cd policy if provided */
-    void                   *cdPolicy;
-    /* Pointer to root entry of valid instance tree
-     * extracted from cd policy */
-    Rm_PolicyValidInstTree *validInstTree;
-    /* Pointer to allocator tree */
-    Rm_AllocatorTree       *allocatorTree;
-} Rm_ClientDelegateInstData;
-
-/* Client-specific instance data */
-typedef struct {
-    /* Pointer to the static policy if provided */
-    void                   *staticPolicy;
-    /* Pointer to the root entry of the valid instance tree
-     * extracted from the static policy */
-    Rm_PolicyValidInstTree *staticValidInstTree;
-} Rm_ClientInstData;
-
 /* Shared Client-specific instance data */
 typedef struct {
     /* Shared Server instance handle */
@@ -137,37 +109,39 @@ typedef struct {
 typedef struct {
     /* Name given to the RM instance.  Policy will assign resources based
      * on the names assigned to instances at instance init */
-    char              instName[RM_NAME_MAX_CHARS];
+    char                    instName[RM_NAME_MAX_CHARS];
     /* Instance type */
-    Rm_InstType       instType;
+    Rm_InstType             instType;
     /* Instance lock status.  Instance locks if static request fails when
      * checked against global policy */
-    int8_t            isLocked;
+    int8_t                  isLocked;
     /* Tracks whether the instance has registered with a CD or Server.
      * Applicable to CD and Client instances */
-    int8_t            registeredWithDelegateOrServer;    
+    int8_t                  registeredWithDelegateOrServer;
     /* Pointer to the serviceHandle opened from the instance */
-    Rm_ServiceHandle *serviceHandle;
+    Rm_ServiceHandle       *serviceHandle;
     /* Linked list of transports registered by the application */
-    Rm_Transport     *transports;
+    Rm_Transport           *transports;
     /* Service transaction sequence number tracker */
-    uint32_t          transactionSeqNum;
+    uint32_t                transactionSeqNum;
     /* Service transaction linked list queue */
-    Rm_Transaction   *transactionQueue; 
+    Rm_Transaction         *transactionQueue;
     /* Block handle provided through OSAL for when RM needs to block due to
      * a service request that requires a blocking operation to complete and
      * a service callback function has not been provided */
-    void             *blockHandle;
+    void                   *blockHandle;
     /* Multi-threaded semaphore object */
-    uint32_t         *mtSemObj;
+    uint32_t               *mtSemObj;
+    /* Pointer to root entry of valid instance tree */
+    Rm_PolicyValidInstTree *validInstTree;
+    /* Max valid instance index */
+    int32_t                 maxInstIdx;
+    /* Pointer to allocator tree */
+    Rm_AllocatorTree       *allocatorTree;
     /* Instance-type specific constructs */
     union {
         /* Server-specific instance data */
         Rm_ServerInstData         server;
-        /* Client Delegate-specific instance data */
-        Rm_ClientDelegateInstData cd;
-        /* Client-specific instance data */
-        Rm_ClientInstData         client;
         /* Shared Client-specific instance data */
         Rm_SharedClientInstData   sharedClient;
     } u;