summaryrefslogtreecommitdiffstats
path: root/src/lib/syscall_msg.C
diff options
context:
space:
mode:
authorDoug Gilbert <dgilbert@us.ibm.com>2012-06-14 15:23:25 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-07-09 13:41:04 -0500
commit434253f2763c99351a8c790f43704cca816ba442 (patch)
tree699483556d5c47a7cb21f87a721ce88ce3d1312b /src/lib/syscall_msg.C
parente4a23b3b4b8a7906852a39f7fef202f04f374ce6 (diff)
downloadtalos-hostboot-434253f2763c99351a8c790f43704cca816ba442.tar.gz
talos-hostboot-434253f2763c99351a8c790f43704cca816ba442.zip
Mailbox additional error handling for Hardware errors and Invalid messages
RTC: 37990 Change-Id: I8378845ed412490a3bd214ac5198ea1fc9f19664 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1221 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/lib/syscall_msg.C')
-rw-r--r--src/lib/syscall_msg.C58
1 files changed, 36 insertions, 22 deletions
diff --git a/src/lib/syscall_msg.C b/src/lib/syscall_msg.C
index 8374d0d34..b35f6eef1 100644
--- a/src/lib/syscall_msg.C
+++ b/src/lib/syscall_msg.C
@@ -1,25 +1,26 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/lib/syscall_msg.C $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2010 - 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/lib/syscall_msg.C $
+ *
+ * IBM CONFIDENTIAL
+ *
+ * COPYRIGHT International Business Machines Corp. 2010-2012
+ *
+ * p1
+ *
+ * Object Code Only (OCO) source materials
+ * Licensed Internal Code Source Materials
+ * IBM HostBoot Licensed Internal Code
+ *
+ * The source code for this program is not published or other-
+ * wise divested of its trade secrets, irrespective of what has
+ * been deposited with the U.S. Copyright Office.
+ *
+ * Origin: 30
+ *
+ * IBM_PROLOG_END_TAG
+ */
#include <sys/msg.h>
#include <sys/interrupt.h>
#include <sys/syscall.h>
@@ -67,6 +68,19 @@ int msg_q_register(msg_q_t q, const char* name)
}
}
+int msg_q_remove(const char * name)
+{
+ msg_q_t vfsQ = (msg_q_t)_syscall1(MSGQ_RESOLVE_ROOT,
+ reinterpret_cast<void*>(MSGQ_ROOT_VFS));
+ msg_t * msg = msg_allocate();
+ msg->type = VFS_MSG_REMOVE_MSGQ;
+ msg->extra_data = (void *)name;
+ msg_sendrecv(vfsQ, msg);
+ int rc = static_cast<int>(msg->data[0]);
+ msg_free(msg);
+ return rc;
+}
+
msg_q_t msg_q_resolve(const char* name)
{
if (0 == strcmp(VFS_ROOT, name))
OpenPOWER on IntegriCloud