blob: 25c6493c55cb00fe8761db1bff27bfe0729165dc [file] [log] [blame]
Olivier Deprezf19af882021-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 Pandeyb1019162020-09-21 21:10:38 +010011#include <spm_common.h>
Olivier Deprezf19af882021-04-09 09:24:08 +020012
13/* Should match with IDs defined in SPM/Hafnium */
Manish Pandeyb1019162020-09-21 21:10:38 +010014#define SPM_INTERRUPT_ENABLE (0xFF03)
Olivier Deprezf19af882021-04-09 09:24:08 +020015#define SPM_INTERRUPT_GET (0xFF04)
Madhukar Pappireddy4c4f6932021-08-05 15:21:46 -050016#define SPM_INTERRUPT_DEACTIVATE (0xFF08)
Olivier Deprezf19af882021-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 Pandeyb1019162020-09-21 21:10:38 +010024int64_t spm_interrupt_enable(uint32_t int_id, bool enable, enum interrupt_pin pin);
Madhukar Pappireddy4c4f6932021-08-05 15:21:46 -050025int64_t spm_interrupt_deactivate(uint32_t vint_id);
Olivier Deprezf19af882021-04-09 09:24:08 +020026void spm_debug_log(char c);
27
28#endif /* SPMC_H */