diff --git a/test/rm_test.c b/test/rm_test.c
index 363b1b9fa52a5274c542fbe1ed33bcad718d8429..d742d52891e47f6b08d7da4275028ca85499ca92 100644 (file)
--- a/test/rm_test.c
+++ b/test/rm_test.c
Char resourceNameAifQ[RM_NAME_MAX_CHARS] = "aif-queue";
Char resourceNameQosCluster[RM_NAME_MAX_CHARS] = "qos-cluster";
Char resourceNameAifRxCh[RM_NAME_MAX_CHARS] = "aif-rx-ch";
+Char resourceNameInfraQ[RM_NAME_MAX_CHARS] = "infra-queue";
Char nameServerNameFavQ[RM_NAME_MAX_CHARS] = "My_Favorite_Queue";
responseInfo.serviceState);
}
- Rm_printResourceStatus(rmServerHandle);
+ Rm_printResourceStatus(rmServerHandle);
+
+ /* Attempt to allocate an infrastructure queue taken by the Linux kernel and shared with
+ * Rm_Client */
+ memset((void *) &requestInfo, 0, sizeof(Rm_ServiceReqInfo));
+ requestInfo.type = Rm_service_RESOURCE_ALLOCATE_INIT;
+ requestInfo.resourceName = resourceNameInfraQ;
+ requestInfo.resourceBase = 805;
+ requestInfo.resourceLength = 1;
+ requestInfo.callback.serviceCallback = testServiceCallback;
+
+ System_printf("Core %d: %s Attempting to allocate infrastructure queue taken by Linux...\n", MultiProc_self(), rmServerName);
+ rmServerServiceHandle->Rm_serviceHandler(rmServerServiceHandle->rmHandle, &requestInfo, &responseInfo);
+ if ((responseInfo.serviceState == RM_SERVICE_APPROVED) ||
+ (responseInfo.serviceState == RM_SERVICE_PROCESSING)) {
+ if (blockForResponse(&responseInfo)) {
+ System_printf("Core %d: %s allocate resource: %s base: %d length: %d\n", MultiProc_self(),
+ rmServerName,
+ requestInfo.resourceName,
+ requestInfo.resourceBase,
+ requestInfo.resourceLength);
+ }
+ }
+ else {
+ System_printf("Core %d: Static allocation failed with error: %d\n", MultiProc_self(),
+ responseInfo.serviceState);
+ }
+
+ Rm_printResourceStatus(rmServerHandle);
}
else if (MultiProc_self() == 1) {
/* Issue the service request for the resources tied to the name via the service port */
responseInfo.serviceState);
}
+ /* Attempt to allocate an infrastructure queue taken by the Linux kernel and shared with
+ * Rm_Client */
+ memset((void *) &requestInfo, 0, sizeof(Rm_ServiceReqInfo));
+ requestInfo.type = Rm_service_RESOURCE_ALLOCATE_INIT;
+ requestInfo.resourceName = resourceNameInfraQ;
+ requestInfo.resourceBase = 800;
+ requestInfo.resourceLength = 1;
+ requestInfo.callback.serviceCallback = testServiceCallback;
+
+ System_printf("Core %d: %s Attempting to allocate infrastructure queue taken by Linux...\n", MultiProc_self(), rmClientName);
+ rmClientServiceHandle->Rm_serviceHandler(rmClientServiceHandle->rmHandle, &requestInfo, &responseInfo);
+ if ((responseInfo.serviceState == RM_SERVICE_APPROVED) ||
+ (responseInfo.serviceState == RM_SERVICE_PROCESSING)) {
+ if (blockForResponse(&responseInfo)) {
+ System_printf("Core %d: %s allocate resource: %s base: %d length: %d\n", MultiProc_self(),
+ rmClientName,
+ requestInfo.resourceName,
+ requestInfo.resourceBase,
+ requestInfo.resourceLength);
+ }
+ }
+ else {
+ System_printf("Core %d: Static allocation failed with error: %d\n", MultiProc_self(),
+ responseInfo.serviceState);
+ }
+
/* Release the syncObj so Server can print results of resource allocations */
releaseSyncObj();
}