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