mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-26 23:04:50 +00:00

Adjust the parameter packing scheme in RSS communication to align with changes made in TF-M: 3be6c395 [1] [1]: https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/commit/?id=3be6c3954b94f000cdcf7575bd4c18f57b3492f8 Change-Id: Ief38f96ab991d1125b37adfced5ffafc39e754a0 Signed-off-by: David Vincze <david.vincze@arm.com>
35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2024, Arm Limited. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* Packing scheme of the control parameter
|
|
*
|
|
* 31 30-28 27 26-24 23-20 19 18-16 15-0
|
|
* +------------+-----+------+-------+-----+-------+-------+------+
|
|
* | | | | invec | | | outvec| type |
|
|
* | Res | Res | Res | number| Res | Res | number| |
|
|
* +------------+-----+------+-------+-----+-------+-------+------+
|
|
*
|
|
* Res: Reserved.
|
|
*/
|
|
|
|
#ifndef RSS_COMMS_PROTOCOL_COMMON
|
|
#define RSS_COMMS_PROTOCOL_COMMON
|
|
|
|
#define TYPE_OFFSET (0U)
|
|
#define TYPE_MASK (0xFFFFUL << TYPE_OFFSET)
|
|
#define IN_LEN_OFFSET (24U)
|
|
#define IN_LEN_MASK (0x7UL << IN_LEN_OFFSET)
|
|
#define OUT_LEN_OFFSET (16U)
|
|
#define OUT_LEN_MASK (0x7UL << OUT_LEN_OFFSET)
|
|
|
|
#define PARAM_PACK(type, in_len, out_len) \
|
|
(((((uint32_t)(type)) << TYPE_OFFSET) & TYPE_MASK) | \
|
|
((((uint32_t)(in_len)) << IN_LEN_OFFSET) & IN_LEN_MASK) | \
|
|
((((uint32_t)(out_len)) << OUT_LEN_OFFSET) & OUT_LEN_MASK))
|
|
|
|
#endif /* RSS_COMMS_PROTOCOL_COMMON */
|