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 <tsimp...@quicinc.com>
> Reviewed-by: Richard Henderson <richard.hender...@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 <laur...@vivier.eu>

Thanks,
Laurent

Reply via email to