[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 13/20] semihosting: Change common-semi API to be architect
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v1 13/20] semihosting: Change common-semi API to be architecture-independent |
Date: |
Mon, 11 Jan 2021 16:34:15 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
On 1/8/21 11:42 PM, Alex Bennée wrote:
> From: Keith Packard <keithp@keithp.com>
>
> The public API is now defined in
> hw/semihosting/common-semi.h. do_common_semihosting takes CPUState *
> instead of CPUARMState *. All internal functions have been renamed
> common_semi_ instead of arm_semi_ or arm_. Aside from the API change,
> there are no functional changes in this patch.
>
> Signed-off-by: Keith Packard <keithp@keithp.com>
> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> Message-Id: <20210107170717.2098982-3-keithp@keithp.com>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
> hw/semihosting/common-semi.h | 36 +++++++++++++++++++++++++++++++++++
> target/arm/cpu.h | 8 --------
> hw/semihosting/common-semi.c | 16 ++++++++++------
> linux-user/aarch64/cpu_loop.c | 3 ++-
> linux-user/arm/cpu_loop.c | 3 ++-
> target/arm/helper.c | 5 +++--
> target/arm/m_helper.c | 7 ++++++-
> 7 files changed, 59 insertions(+), 19 deletions(-)
> create mode 100644 hw/semihosting/common-semi.h
>
> diff --git a/hw/semihosting/common-semi.h b/hw/semihosting/common-semi.h
> new file mode 100644
> index 0000000000..bc53e92c79
> --- /dev/null
> +++ b/hw/semihosting/common-semi.h
> @@ -0,0 +1,36 @@
> +/*
> + * Semihosting support for systems modeled on the Arm "Angel"
> + * semihosting syscalls design.
> + *
> + * Copyright (c) 2005, 2007 CodeSourcery.
> + * Copyright (c) 2019 Linaro
> + * Written by Paul Brook.
> + *
> + * Copyright © 2020 by Keith Packard <keithp@keithp.com>
> + * Adapted for systems other than ARM, including RISC-V, by Keith Packard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + *
> + * ARM Semihosting is documented in:
> + * Semihosting for AArch32 and AArch64 Release 2.0
> + * https://static.docs.arm.com/100863/0200/semihosting.pdf
> + *
> + */
> +
> +#ifndef COMMON_SEMI_H
> +#define COMMON_SEMI_H
> +
> +target_ulong do_common_semihosting(CPUState *cs);
Can we name this do_arm_compat_semihosting(CPUState *cs)?