diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/skiboot/include/opal-msg.h | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/skiboot/include/opal-msg.h')
-rw-r--r-- | roms/skiboot/include/opal-msg.h | 35 |
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 */ |