blob: 4473ca4c4e49265d300b3c19efade44dee45d432 [file] [log] [blame]
Soby Mathewb4c6df42022-11-09 11:13:29 +00001/*
2 * SPDX-License-Identifier: BSD-3-Clause
3 * SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
4 */
5
6#ifndef RUN_H
7#define RUN_H
8
Arunachalam Ganapathyf6491212023-02-23 16:04:34 +00009struct rec;
10
Soby Mathewb4c6df42022-11-09 11:13:29 +000011/*
12 * Function to enter Realm with `regs` pointing to GP Regs to be
13 * restored/saved when entering/exiting the Realm. This function
14 * returns with the Realm exception code which is populated by
15 * Realm_exit() on aarch64.
16 */
17int run_realm(unsigned long *regs);
18
Arunachalam Ganapathyf6491212023-02-23 16:04:34 +000019/*
20 * Configure CPTR_EL2 register to not trap FPU or SVE access for Realm and
21 * restore the saved SIMD state from memory to registers.
22 */
23void rec_simd_enable_restore(struct rec *rec);
24
Soby Mathewb4c6df42022-11-09 11:13:29 +000025#endif /* RUN_H */