[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 30/35] Hexagon (linux-user/hexagon) Linux user emulation
From: |
Laurent Vivier |
Subject: |
Re: [PATCH v7 30/35] Hexagon (linux-user/hexagon) Linux user emulation |
Date: |
Wed, 17 Feb 2021 21:15:44 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
Le 20/01/2021 à 04:29, Taylor Simpson a écrit :
> Implementation of Linux user emulation for Hexagon
> Some common files modified in addition to new files in linux-user/hexagon
>
> Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> linux-user/hexagon/sockbits.h | 18 ++
> linux-user/hexagon/syscall_nr.h | 322
> ++++++++++++++++++++++++++++++++++++
> linux-user/hexagon/target_cpu.h | 44 +++++
> linux-user/hexagon/target_elf.h | 40 +++++
> linux-user/hexagon/target_fcntl.h | 18 ++
> linux-user/hexagon/target_signal.h | 34 ++++
> linux-user/hexagon/target_structs.h | 54 ++++++
> linux-user/hexagon/target_syscall.h | 36 ++++
> linux-user/hexagon/termbits.h | 18 ++
> linux-user/qemu.h | 2 +
> linux-user/syscall_defs.h | 33 ++++
> linux-user/elfload.c | 16 ++
> linux-user/hexagon/cpu_loop.c | 99 +++++++++++
> linux-user/hexagon/signal.c | 276 +++++++++++++++++++++++++++++++
> scripts/gensyscalls.sh | 1 +
> 15 files changed, 1011 insertions(+)
> create mode 100644 linux-user/hexagon/sockbits.h
> create mode 100644 linux-user/hexagon/syscall_nr.h
> create mode 100644 linux-user/hexagon/target_cpu.h
> create mode 100644 linux-user/hexagon/target_elf.h
> create mode 100644 linux-user/hexagon/target_fcntl.h
> create mode 100644 linux-user/hexagon/target_signal.h
> create mode 100644 linux-user/hexagon/target_structs.h
> create mode 100644 linux-user/hexagon/target_syscall.h
> create mode 100644 linux-user/hexagon/termbits.h
> create mode 100644 linux-user/hexagon/cpu_loop.c
> create mode 100644 linux-user/hexagon/signal.c
...> diff --git a/linux-user/hexagon/target_syscall.h
b/linux-user/hexagon/target_syscall.h
> new file mode 100644
> index 0000000..7f91a4a
> --- /dev/null
> +++ b/linux-user/hexagon/target_syscall.h
> @@ -0,0 +1,36 @@
> +/*
> + * Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights
> Reserved.
> + *
> + * 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/>.
> + */
> +
> +#ifndef HEXAGON_TARGET_SYSCALL_H
> +#define HEXAGON_TARGET_SYSCALL_H
> +
> +struct target_pt_regs {
> + abi_long sepc;
> + abi_long sp;
Two registers, it's unusual but it seems to be enough to load the binary.
...
> diff --git a/linux-user/hexagon/termbits.h b/linux-user/hexagon/termbits.h
> new file mode 100644
> index 0000000..8abf992
> --- /dev/null
> +++ b/linux-user/hexagon/termbits.h
> @@ -0,0 +1,18 @@
> +/*
> + * Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights
> Reserved.
> + *
> + * 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/>.
> + */
> +
> +#include "../i386/termbits.h"
should be #include "../generic/termbits.h"
Acked-by: Laurent Vivier <laurent@vivier.eu>
Thanks,
Laurent
- Re: [PATCH v7 30/35] Hexagon (linux-user/hexagon) Linux user emulation,
Laurent Vivier <=