aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/include/opal-msg.h
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/skiboot/include/opal-msg.h
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/skiboot/include/opal-msg.h')
-rw-r--r--roms/skiboot/include/opal-msg.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/roms/skiboot/include/opal-msg.h b/roms/skiboot/include/opal-msg.h
new file mode 100644
index 000000000..2028c79d0
--- /dev/null
+++ b/roms/skiboot/include/opal-msg.h
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+/* Copyright 2013-2019 IBM Corp. */
+
+#ifndef __OPALMSG_H
+#define __OPALMSG_H
+
+#include <opal.h>
+
+/*
+ * It dictates the number of asynchronous tokens available at the kernel,
+ * ideally the value matches to the number of modules using async
+ * infrastructure, but not necessarily the same..
+ */
+#define OPAL_MAX_ASYNC_COMP 16
+
+/* Max size of struct opal_msg */
+#define OPAL_MSG_SIZE (64 * 1024)
+
+/* opal_msg fixed parameters size */
+#define OPAL_MSG_HDR_SIZE (offsetof(struct opal_msg, params))
+#define OPAL_MSG_FIXED_PARAMS_SIZE \
+ (sizeof(struct opal_msg) - OPAL_MSG_HDR_SIZE)
+
+int _opal_queue_msg(enum opal_msg_type msg_type, void *data,
+ void (*consumed)(void *data, int status),
+ size_t params_size, const void *params);
+
+#define opal_queue_msg(msg_type, data, cb, ...) \
+ _opal_queue_msg(msg_type, data, cb, \
+ sizeof((__be64[]) {__VA_ARGS__}), \
+ (__be64[]) {__VA_ARGS__});
+
+void opal_init_msg(void);
+
+#endif /* __OPALMSG_H */