blob: 25c6493c55cb00fe8761db1bff27bfe0729165dc [file] [log] [blame]
Olivier Deprez6967c242021-04-09 09:24:08 +02001/*
2 * Copyright (c) 2021, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef SPMC_H
8#define SPMC_H
9
10#include <ffa_helpers.h>
Manish Pandey58971b62020-09-21 21:10:38 +010011#include <spm_common.h>
Olivier Deprez6967c242021-04-09 09:24:08 +020012
13/* Should match with IDs defined in SPM/Hafnium */
Manish Pandey58971b62020-09-21 21:10:38 +010014#define SPM_INTERRUPT_ENABLE (0xFF03)
Olivier Deprez6967c242021-04-09 09:24:08 +020015#define SPM_INTERRUPT_GET (0xFF04)
Madhukar Pappireddy46d06d72021-08-05 15:21:46 -050016#define SPM_INTERRUPT_DEACTIVATE (0xFF08)
Olivier Deprez6967c242021-04-09 09:24:08 +020017#define SPM_DEBUG_LOG (0xBD000000)
18
19/*
20 * Hypervisor Calls Wrappers
21 */
22
23uint32_t spm_interrupt_get(void);
Manish Pandey58971b62020-09-21 21:10:38 +010024int64_t spm_interrupt_enable(uint32_t int_id, bool enable, enum interrupt_pin pin);
Madhukar Pappireddy46d06d72021-08-05 15:21:46 -050025int64_t spm_interrupt_deactivate(uint32_t vint_id);
Olivier Deprez6967c242021-04-09 09:24:08 +020026void spm_debug_log(char c);
27
28#endif /* SPMC_H */