Jose Marinho | fc0b2b6 | 2019-06-06 11:18:45 +0100 | [diff] [blame] | 1 | /* |
J-Alves | 13318e3 | 2021-02-22 17:21:00 +0000 | [diff] [blame] | 2 | * Copyright 2021 The Hafnium Authors. |
Jose Marinho | fc0b2b6 | 2019-06-06 11:18:45 +0100 | [diff] [blame] | 3 | * |
Andrew Walbran | e959ec1 | 2020-06-17 15:01:09 +0100 | [diff] [blame] | 4 | * Use of this source code is governed by a BSD-style |
| 5 | * license that can be found in the LICENSE file or at |
| 6 | * https://opensource.org/licenses/BSD-3-Clause. |
Jose Marinho | fc0b2b6 | 2019-06-06 11:18:45 +0100 | [diff] [blame] | 7 | */ |
| 8 | |
| 9 | #pragma once |
| 10 | |
Andrew Walbran | 475c145 | 2020-02-07 13:22:22 +0000 | [diff] [blame] | 11 | #include <stdint.h> |
Jose Marinho | 75509b4 | 2019-04-09 09:34:59 +0100 | [diff] [blame] | 12 | |
Andrew Walbran | 352aa3d | 2020-05-01 17:51:33 +0100 | [diff] [blame] | 13 | #include "hf/check.h" |
| 14 | |
Andrew Walbran | b5ab43c | 2020-04-30 11:32:54 +0100 | [diff] [blame] | 15 | #include "vmapi/hf/ffa.h" |
Jose Marinho | 75509b4 | 2019-04-09 09:34:59 +0100 | [diff] [blame] | 16 | |
Olivier Deprez | b76307d | 2022-06-09 17:17:45 +0200 | [diff] [blame] | 17 | #define FFA_VERSION_RESERVED_BIT (UINT32_C(1) << 31) |
| 18 | |
J-Alves | 13318e3 | 2021-02-22 17:21:00 +0000 | [diff] [blame] | 19 | static inline struct ffa_value ffa_error(int32_t error_code) |
Andrew Walbran | d4d2fa1 | 2019-10-01 16:47:25 +0100 | [diff] [blame] | 20 | { |
J-Alves | 13318e3 | 2021-02-22 17:21:00 +0000 | [diff] [blame] | 21 | return (struct ffa_value){.func = FFA_ERROR_32, |
| 22 | .arg2 = (uint32_t)error_code}; |
Andrew Walbran | d4d2fa1 | 2019-10-01 16:47:25 +0100 | [diff] [blame] | 23 | } |
J-Alves | 27b7196 | 2022-12-12 15:29:58 +0000 | [diff] [blame] | 24 | |
| 25 | struct ffa_value ffa_msg_recv_return(const struct vm *receiver); |
| 26 | |
| 27 | bool is_ffa_direct_msg_request_ongoing(struct vcpu_locked locked); |