xref: /qemu/include/semihosting/common-semi.h (revision bb3b8821a326d18294ce31bdd350bb27a139940e)
10bb446d8SKeith Packard /*
20bb446d8SKeith Packard  *  Semihosting support for systems modeled on the Arm "Angel"
3a10b9d93SKeith Packard  *  semihosting syscalls design. This includes Arm and RISC-V processors
40bb446d8SKeith Packard  *
50bb446d8SKeith Packard  *  Copyright (c) 2005, 2007 CodeSourcery.
60bb446d8SKeith Packard  *  Copyright (c) 2019 Linaro
70bb446d8SKeith Packard  *  Written by Paul Brook.
80bb446d8SKeith Packard  *
90bb446d8SKeith Packard  *  Copyright © 2020 by Keith Packard <keithp@keithp.com>
100bb446d8SKeith Packard  *  Adapted for systems other than ARM, including RISC-V, by Keith Packard
110bb446d8SKeith Packard  *
120bb446d8SKeith Packard  *  This program is free software; you can redistribute it and/or modify
130bb446d8SKeith Packard  *  it under the terms of the GNU General Public License as published by
140bb446d8SKeith Packard  *  the Free Software Foundation; either version 2 of the License, or
150bb446d8SKeith Packard  *  (at your option) any later version.
160bb446d8SKeith Packard  *
170bb446d8SKeith Packard  *  This program is distributed in the hope that it will be useful,
180bb446d8SKeith Packard  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
190bb446d8SKeith Packard  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
200bb446d8SKeith Packard  *  GNU General Public License for more details.
210bb446d8SKeith Packard  *
220bb446d8SKeith Packard  *  You should have received a copy of the GNU General Public License
230bb446d8SKeith Packard  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
240bb446d8SKeith Packard  *
250bb446d8SKeith Packard  *  ARM Semihosting is documented in:
260bb446d8SKeith Packard  *     Semihosting for AArch32 and AArch64 Release 2.0
270bb446d8SKeith Packard  *     https://static.docs.arm.com/100863/0200/semihosting.pdf
280bb446d8SKeith Packard  *
29a10b9d93SKeith Packard  *  RISC-V Semihosting is documented in:
30a10b9d93SKeith Packard  *     RISC-V Semihosting
31a10b9d93SKeith Packard  *     https://github.com/riscv/riscv-semihosting-spec/blob/main/riscv-semihosting-spec.adoc
320bb446d8SKeith Packard  */
330bb446d8SKeith Packard 
340bb446d8SKeith Packard #ifndef COMMON_SEMI_H
350bb446d8SKeith Packard #define COMMON_SEMI_H
360bb446d8SKeith Packard 
37*ed3a06b1SRichard Henderson void do_common_semihosting(CPUState *cs);
380bb446d8SKeith Packard 
390bb446d8SKeith Packard #endif /* COMMON_SEMI_H */
40