SIGSEGV question (Hexagon)

2019-11-04 Thread Taylor Simpson
Philippe suggested that I run the TCG tests for Hexagon. Thanks Philippe!! I discovered that I'm not handling SIGSEGV properly. We pass other signal tests, but not this one. I'm hoping someone can help. The first thing that I realized is that I hadn't provided a tlb_fill function for

RE: QEMU for Qualcomm Hexagon - KVM Forum talk and code available

2019-11-03 Thread Taylor Simpson
to answer them. Taylor -Original Message- From: Philippe Mathieu-Daudé Sent: Friday, November 1, 2019 1:30 PM To: Taylor Simpson ; qemu-devel@nongnu.org Cc: Alessandro Di Federico ; ni...@rev.ng; Niccolò Izzo Subject: Re: QEMU for Qualcomm Hexagon - KVM Forum talk and code available Hi

RE: QEMU for Qualcomm Hexagon - KVM Forum talk and code available

2019-11-05 Thread Taylor Simpson
= 0; i < 4; i++) { \ tcg_gen_shli_tl(RdV, RdV, 8); \ tcg_gen_or_tl(RdV, RdV, tmp); \ } \ tcg_temp_free(tmp); \ } From: Aleksandar Markovic Sent: Monday, November 4, 2019 6:05 PM To: Taylor Simpson Cc: qemu-devel@nongnu.org; Alessandro Di Federico ; ni...@rev.ng; Niccol

RE: SIGSEGV question (Hexagon)

2019-11-05 Thread Taylor Simpson
) - CAUTION: This email originated from outside of the organization. - Taylor Simpson writes: > Philippe suggested that I run the TCG tests for Hexagon. Thanks Philippe!! > > > > I discovered that I

RE: QEMU for Qualcomm Hexagon - KVM Forum talk and code available

2019-11-13 Thread Taylor Simpson
Responses below ... Taylor Taylor Simpson writes: > I had discussions with several people at the KVM Forum, and I’ve been > thinking about how to divide up the code for community review. Here is my > proposal for the steps. > > 1. linux-user changes + linux-user/hex

[PATCH] Modify tests to work with clang

2019-11-14 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- tests/tcg/multiarch/float_helpers.c | 13 - tests/tcg/multiarch/linux-test.c| 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/tcg/multiarch/float_helpers.c b/tests/tcg/multiarch/float_helpers.c index 8ee7903..437247c

[PATCH] Modify tests to work with clang

2019-11-17 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- tests/tcg/multiarch/float_helpers.c | 2 -- tests/tcg/multiarch/linux-test.c| 6 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/tcg/multiarch/float_helpers.c b/tests/tcg/multiarch/float_helpers.c index 8ee7903..bc530e5 100644

RE: QEMU for Qualcomm Hexagon - KVM Forum talk and code available

2019-11-12 Thread Taylor Simpson
generator. I would love some feedback on this proposal. Hopefully, that is enough detail so that people can comment. If anything isn’t clear, please ask questions. Thanks, Taylor From: Qemu-devel On Behalf Of Taylor Simpson Sent: Tuesday, November 5, 2019 10:33 AM To: Aleksandar Markovic Cc

RE: [PATCH] Modify tests to work with clang

2019-11-15 Thread Taylor Simpson
s "allowed to be null". Taylor -Original Message- From: Alex Bennée Sent: Friday, November 15, 2019 6:17 AM To: Taylor Simpson Cc: qemu-devel@nongnu.org Subject: Re: [PATCH] Modify tests to work with clang -

RE: QEMU for Qualcomm Hexagon - KVM Forum talk and code available

2019-11-14 Thread Taylor Simpson
OK, I changed the code in github and will upstream it that way. -Original Message- From: Richard Henderson Sent: Wednesday, November 13, 2019 3:10 PM To: Taylor Simpson ; Alex Bennée ; qemu-devel@nongnu.org Cc: Alessandro Di Federico ; ni...@rev.ng; Niccolò Izzo ; Aleksandar Markovic

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-21 Thread Taylor Simpson
the other team makes changes to the code (either to fix bugs or add features), it will be easier to identify the changes and bring them into qemu. Taylor -Original Message- From: Aleksandar Markovic Sent: Thursday, November 21, 2019 1:20 PM To: Taylor Simpson Cc: Laurent Vivier ; Riku

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-21 Thread Taylor Simpson
the gold standard - more so than the PDF manual. Any changes to that code, including reformatting, would put qemu at risk of not accurately emulating the processor. Taylor -Original Message- From: Aleksandar Markovic Sent: Thursday, November 21, 2019 2:45 PM To: Taylor Simpson Cc

RE: QEMU for Qualcomm Hexagon - KVM Forum talk and code available

2019-12-17 Thread Taylor Simpson
e implication of having the common code changes late is that code would compile and run only at the end of the series. Thanks, Taylor -Original Message- From: Qemu-devel On Behalf Of Taylor Simpson Sent: Thursday, November 14, 2019 6:54 PM To: Richard Henderson ; Alex Bennée ; qemu-dev

QEMU for Qualcomm Hexagon - KVM Forum talk and code available

2019-10-25 Thread Taylor Simpson
We would like inform the you that we will be doing a talk at the KVM Forum next week on QEMU for Qualcomm Hexagon. Alessandro Di Federico, Niccolo Izzo, and I have been working independently on implementations of the Hexagon target. We plan to merge the implementations, have a community

RE: [PATCH] Hexagon: Swap SIGRGMAX-1 and SIGRTMIN+1

2019-11-19 Thread Taylor Simpson
_SIGRTMAX, > [__SIGRTMAX] = __SIGRTMIN, > +#ifdef TARGET_SIGNAL_TABLE_MODIFY > +TARGET_SIGNAL_TABLE_MODIFY Thanks, Taylor -Original Message- From: Peter Maydell Sent: Tuesday, November 19, 2019 1:31 PM To: Taylor Simpson Cc: Riku Voipio ; Laurent Vivier ; QEMU Developers Subject: R

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-19 Thread Taylor Simpson
--Original Message- From: Laurent Vivier Sent: Tuesday, November 19, 2019 12:13 PM To: Taylor Simpson ; Philippe Mathieu-Daudé ; riku.voi...@iki.fi; qemu-devel@nongnu.org Subject: Re: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon

[PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project and

2019-11-18 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- configure | 9 + default-configs/hexagon-linux-user.mak | 1 + include/elf.h | 2 + linux-user/elfload.c| 16 ++ linux-user/hexagon/cpu_loop.c | 103

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-19 Thread Taylor Simpson
Thanks for the feedback Richard. Responses below ... Thanks, Taylor -Original Message- From: Richard Henderson Sent: Tuesday, November 19, 2019 1:34 PM To: Taylor Simpson ; laur...@vivier.eu; riku.voi...@iki.fi; qemu-devel@nongnu.org Subject: Re: [PATCH] Add minimal Hexagon target

RE: [PATCH] Hexagon: Swap SIGRGMAX-1 and SIGRTMIN+1

2019-11-20 Thread Taylor Simpson
How was this solved for other targets? -Original Message- From: Peter Maydell Sent: Wednesday, November 20, 2019 5:01 AM To: Laurent Vivier Cc: Taylor Simpson ; Riku Voipio ; QEMU Developers Subject: Re: [PATCH] Hexagon: Swap SIGRGMAX-1 and SIGRTMIN+1 On Wed, 20 Nov 2019 at 10:54

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-20 Thread Taylor Simpson
Responses inline ... Thanks, Taylor -Original Message- From: Richard Henderson Sent: Wednesday, November 20, 2019 2:07 AM To: Taylor Simpson ; laur...@vivier.eu; riku.voi...@iki.fi; qemu-devel@nongnu.org Subject: Re: [PATCH] Add minimal Hexagon target - First in a series of patches

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-20 Thread Taylor Simpson
Is there a precedent for this? I'm OK with DEBUG_HEX, but I assumed reviewers wouldn't approve #ifdef FIXME #define DEBUG_HEX #endif Taylor -Original Message- From: Richard Henderson Sent: Wednesday, November 20, 2019 3:02 AM To: Laurent Vivier ; Taylor Simpson ; Philippe Mathieu

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-20 Thread Taylor Simpson
OK, I'll modify to follow the mips approach. Taylor -Original Message- From: Laurent Vivier Sent: Wednesday, November 20, 2019 8:15 AM To: Taylor Simpson ; Richard Henderson ; Philippe Mathieu-Daudé ; riku.voi...@iki.fi; qemu-devel@nongnu.org Subject: Re: [PATCH] Add minimal Hexagon

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-20 Thread Taylor Simpson
Are you saying there's a way to tell qemu to put the stack at a certain location? Or are you suggesting we do something on the hardware side? Taylor -Original Message- From: Richard Henderson Sent: Wednesday, November 20, 2019 8:43 AM To: Taylor Simpson ; laur...@vivier.eu; riku.voi

RE: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project

2019-11-19 Thread Taylor Simpson
h one should contain the changes to common files (e.g., configure)? Also, note that we won't be able to build until both patches are merged. Is that OK? Thanks, Taylor -Original Message- From: Philippe Mathieu-Daudé Sent: Tuesday, November 19, 2019 9:19 AM To: Taylor Simpson ; laur...@

[PATCH] Hexagon: Swap SIGRGMAX-1 and SIGRTMIN+1

2019-11-19 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- linux-user/signal.c | 8 1 file changed, 8 insertions(+) diff --git a/linux-user/signal.c b/linux-user/signal.c index 5ca6d62..ce3d27f 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -72,6 +72,14 @@ static uint8_t

[RFC PATCH 29/66] Hexagon opcode data structures

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/opcodes.c | 223 +++ target/hexagon/opcodes.h | 67 ++ 2 files changed, 290 insertions(+) create mode 100644 target/hexagon/opcodes.c create mode 100644 target/hexagon/opcodes.h diff

[RFC PATCH 08/66] Hexagon instruction and packet types

2020-02-10 Thread Taylor Simpson
The insn_t and packet_t are the interface between instruction decoding and TCG code generation Signed-off-by: Taylor Simpson --- target/hexagon/insn.h | 133 ++ 1 file changed, 133 insertions(+) create mode 100644 target/hexagon/insn.h diff

[RFC PATCH 65/66] Hexagon HVX translation

2020-02-10 Thread Taylor Simpson
Changes to packet semantics to support HVX Signed-off-by: Taylor Simpson --- target/hexagon/translate.c | 174 + target/hexagon/translate.h | 30 2 files changed, 204 insertions(+) diff --git a/target/hexagon/translate.c b/target/hexagon

[RFC PATCH 30/66] Hexagon macros to interface with the generator

2020-02-10 Thread Taylor Simpson
Various forms of declare, read, write, free Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | 388 1 file changed, 388 insertions(+) create mode 100644 target/hexagon/macros.h diff --git a/target/hexagon/macros.h b/target/hexagon

[RFC PATCH 27/66] Hexagon generator phase 3 - C preprocessor for decode tree

2020-02-10 Thread Taylor Simpson
Run the C preprocessor across the instruction definition and encoding files to expand macros and prepare the iset.py file. The resulting fill contains python data structures used to build the decode tree. Signed-off-by: Taylor Simpson --- target/hexagon/gen_dectree_import.c | 205

[RFC PATCH 50/66] Hexagon translation

2020-02-10 Thread Taylor Simpson
Read the instruction memory Create a packet data structure Generate TCG code for the start of the packet Invoke the generate function for each instruction Generate TCG code for the end of the packet Signed-off-by: Taylor Simpson --- target/hexagon/translate.c | 732

[RFC PATCH 48/66] Hexagon TCG generation - step 11

2020-02-10 Thread Taylor Simpson
Override compare, transfer, conditional jump instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 119 ++ 1 file changed, 119 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h

[RFC PATCH 62/66] Hexagon HVX macros referenced in instruction semantics

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/mmvec/macros.h | 436 ++ 1 file changed, 436 insertions(+) diff --git a/target/hexagon/mmvec/macros.h b/target/hexagon/mmvec/macros.h index 80adb83..93d86e7 100644 --- a/target/hexagon/mmvec/macros.h +++ b

[RFC PATCH 16/66] Hexagon arch import - macro definitions

2020-02-10 Thread Taylor Simpson
Imported from the Hexagon architecture library imported/macros.def Scalar core macro definitions The macro definition files specify instruction attributes that are applied to each instruction that reverences the macro. Signed-off-by: Taylor Simpson --- target/hexagon/imported

[RFC PATCH 33/66] Hexagon TCG generation helpers - step 1

2020-02-10 Thread Taylor Simpson
Helpers for reading and writing registers Helpers for getting and setting parts of values (e.g., set bit) Signed-off-by: Taylor Simpson --- target/hexagon/genptr_helpers.h | 323 1 file changed, 323 insertions(+) create mode 100644 target/hexagon

[RFC PATCH 66/66] Hexagon HVX build infrastructure

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/Makefile.objs | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/target/hexagon/Makefile.objs b/target/hexagon/Makefile.objs index efcf510..3ff59e4 100644 --- a/target/hexagon/Makefile.objs +++ b/target/hexagon

[RFC PATCH 53/66] Hexagon - Add Hexagon Vector eXtensions (HVX) to core definition

2020-02-10 Thread Taylor Simpson
HVX is a set of wide vector instructions. Machine state includes vector registers (VRegs) vector predicate registers (QRegs) temporary registers for packet semantics store buffer (masked stores and scatter/gather) Signed-off-by: Taylor Simpson --- target/hexagon/cpu.c

[RFC PATCH 55/66] Hexagon HVX import instruction encodings

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/imported/allextenc.def| 20 + target/hexagon/imported/encode.def | 1 + target/hexagon/imported/mmvec/encode_ext.def | 830 +++ 3 files changed, 851 insertions(+) create mode 100644 target/hexagon

[RFC PATCH 58/66] Hexagon HVX semantics generator

2020-02-10 Thread Taylor Simpson
Add HVX support to the semantics generator Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 175 ++--- target/hexagon/gen_semantics.c | 9 +++ 2 files changed, 171 insertions(+), 13 deletions(-) diff --git a/target/hexagon/do_qemu.py b

[RFC PATCH 54/66] Hexagon HVX support in gdbstub

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/gdbstub.c | 62 1 file changed, 62 insertions(+) diff --git a/target/hexagon/gdbstub.c b/target/hexagon/gdbstub.c index f07cb9a..e97b0af 100644 --- a/target/hexagon/gdbstub.c +++ b/target/hexagon

[RFC PATCH 42/66] Hexagon TCG generation - step 05

2020-02-10 Thread Taylor Simpson
Override predicated store instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 54 +++ 1 file changed, 54 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 648fc5d..9791d33

[RFC PATCH 40/66] Hexagon TCG generation - step 03

2020-02-10 Thread Taylor Simpson
Override predicated load instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 235 ++ 1 file changed, 235 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 553..673b7a5

[RFC PATCH 37/66] Hexagon TCG generation helpers - step 5

2020-02-10 Thread Taylor Simpson
Helpers for instructions overriden for optimization Signed-off-by: Taylor Simpson --- target/hexagon/genptr_helpers.h | 314 1 file changed, 314 insertions(+) diff --git a/target/hexagon/genptr_helpers.h b/target/hexagon/genptr_helpers.h index 85b449a

[RFC PATCH 00/66] Hexagon patch series

2020-02-10 Thread Taylor Simpson
-niccolo-izzo-revng-taylor-simpson-qualcomm-innovation-center The patches up to and including "Hexagon build infractructure" implement the base Hexagon core and the remainder add HVX. Once the build infrastructure patch is applied, you can build and qemu will execute non-HVX Hexagon programs

[RFC PATCH 46/66] Hexagon TCG generation - step 09

2020-02-10 Thread Taylor Simpson
Override instructions to speed up qemu Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 97 +++ 1 file changed, 97 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index e544dd5..52e4a47

[RFC PATCH 03/66] Hexagon CPU Scalar Core Definition

2020-02-10 Thread Taylor Simpson
Add CPU state header, CPU definitions and initialization routines Signed-off-by: Taylor Simpson --- target/hexagon/cpu-param.h | 26 target/hexagon/cpu.c | 304 + target/hexagon/cpu.h | 165 target/hexagon

[RFC PATCH 26/66] Hexagon generator phase 2 - printinsn-generated.h

2020-02-10 Thread Taylor Simpson
Data for printing (disassembling) each instruction (format string + operands) Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 151 ++ 1 file changed, 151 insertions(+) diff --git a/target/hexagon/do_qemu.py b/target/hexagon/do_qemu.py

[RFC PATCH 22/66] Hexagon generator phase 2 - qemu_wrap_generated.h

2020-02-10 Thread Taylor Simpson
Gives a default definition of fWRAP_ for each instruction Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 14 ++ 1 file changed, 14 insertions(+) diff --git a/target/hexagon/do_qemu.py b/target/hexagon/do_qemu.py index 992dbc3..43acdd7 100755 --- a/target/hexagon

[RFC PATCH 21/66] Hexagon generator phase 2 - qemu_def_generated.h

2020-02-10 Thread Taylor Simpson
For each instruction we create DEF_HELPER function prototype TCG code to generate call to helper Helper definition Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 773 ++ 1 file changed, 773 insertions(+) create mode 100755

[RFC PATCH 36/66] Hexagon TCG generation helpers - step 4

2020-02-10 Thread Taylor Simpson
Helpers referenced in macros.h Signed-off-by: Taylor Simpson --- target/hexagon/genptr_helpers.h | 67 + 1 file changed, 67 insertions(+) diff --git a/target/hexagon/genptr_helpers.h b/target/hexagon/genptr_helpers.h index 27f965a..85b449a 100644

[RFC PATCH 11/66] Hexagon instruction attributes

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/attribs.h | 32 target/hexagon/attribs_def.h | 404 +++ 2 files changed, 436 insertions(+) create mode 100644 target/hexagon/attribs.h create mode 100644 target/hexagon/attribs_def.h diff --git

[RFC PATCH 18/66] Hexagon instruction class definitions

2020-02-10 Thread Taylor Simpson
Imported from the Hexagon architecture library Signed-off-by: Taylor Simpson --- target/hexagon/imported/iclass.def | 52 ++ 1 file changed, 52 insertions(+) create mode 100644 target/hexagon/imported/iclass.def diff --git a/target/hexagon/imported

[RFC PATCH 25/66] Hexagon generator phase 2 - op_regs_generated.h

2020-02-10 Thread Taylor Simpson
Lists the register and immediate operands for each instruction Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 86 +++ 1 file changed, 86 insertions(+) diff --git a/target/hexagon/do_qemu.py b/target/hexagon/do_qemu.py index f297931

[RFC PATCH 31/66] Hexagon macros referenced in instruction semantics

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/macros.h | +++ 1 file changed, insertions(+) diff --git a/target/hexagon/macros.h b/target/hexagon/macros.h index 4399585..e89fe4c 100644 --- a/target/hexagon/macros.h +++ b/target/hexagon

[RFC PATCH 19/66] Hexagon instruction utility functions

2020-02-10 Thread Taylor Simpson
Utility functions called by various instructions Signed-off-by: Taylor Simpson --- target/hexagon/arch.c | 664 + target/hexagon/arch.h | 62 target/hexagon/conv_emu.c | 370 +++ target/hexagon/conv_emu.h | 50 +++ target/hexagon

[RFC PATCH 57/66] Hexagon HVX import macro definitions

2020-02-10 Thread Taylor Simpson
the macro. Signed-off-by: Taylor Simpson --- target/hexagon/imported/allext_macros.def | 25 + target/hexagon/imported/mmvec/macros.def | 1110 + 2 files changed, 1135 insertions(+) create mode 100644 target/hexagon/imported/allext_macros.def create mode 100755

[RFC PATCH 13/66] Hexagon instruction/packet decode

2020-02-10 Thread Taylor Simpson
extenders Separate subinsn's into two instructions Break compare-jumps into two instructions Create instructions for :endloop Signed-off-by: Taylor Simpson --- target/hexagon/decode.c | 773 target/hexagon/decode.h | 39 +++ target

[RFC PATCH 39/66] Hexagon TCG generation - step 02

2020-02-10 Thread Taylor Simpson
Override load instructions Signed-off-by: Taylor Simpson --- target/hexagon/genptr.c | 1 + target/hexagon/helper_overrides.h | 404 ++ 2 files changed, 405 insertions(+) create mode 100644 target/hexagon/helper_overrides.h diff --git a/target

[RFC PATCH 43/66] Hexagon TCG generation - step 06

2020-02-10 Thread Taylor Simpson
Override memop instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 60 +++ 1 file changed, 60 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 9791d33..f023442 100644

[RFC PATCH 06/66] Hexagon CPU Scalar Core Helpers

2020-02-10 Thread Taylor Simpson
The majority of helpers are generated. Define the helper functions needed then include the generated file Signed-off-by: Taylor Simpson --- target/hexagon/helper.h| 37 target/hexagon/op_helper.c | 432 + 2 files changed, 469 insertions

[RFC PATCH 41/66] Hexagon TCG generation - step 04

2020-02-10 Thread Taylor Simpson
Override store instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 241 ++ 1 file changed, 241 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 673b7a5..648fc5d 100644

[RFC PATCH 38/66] Hexagon TCG generation - step 01

2020-02-10 Thread Taylor Simpson
Include the generated files and set up the data structures Signed-off-by: Taylor Simpson --- target/hexagon/genptr.c | 60 + target/hexagon/genptr.h | 25 + 2 files changed, 85 insertions(+) create mode 100644 target/hexagon

[RFC PATCH 01/66] Hexagon Maintainers

2020-02-10 Thread Taylor Simpson
Add Taylor Simpson as the Hexagon target maintainer Signed-off-by: Taylor Simpson --- MAINTAINERS | 8 1 file changed, 8 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index e72b5e5..f48c564 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -172,6 +172,14 @@ F: include/hw/cris/ F

[RFC PATCH 20/66] Hexagon generator phase 1 - C preprocessor for semantics

2020-02-10 Thread Taylor Simpson
with each macro. Signed-off-by: Taylor Simpson --- target/hexagon/gen_semantics.c | 92 ++ 1 file changed, 92 insertions(+) create mode 100644 target/hexagon/gen_semantics.c diff --git a/target/hexagon/gen_semantics.c b/target/hexagon/gen_semantics.c new file

[RFC PATCH 02/66] Hexagon ELF Machine Definition

2020-02-10 Thread Taylor Simpson
Define EM_HEXAGON 164 Signed-off-by: Taylor Simpson --- include/elf.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/elf.h b/include/elf.h index 8fbfe60..d51e7d4 100644 --- a/include/elf.h +++ b/include/elf.h @@ -170,6 +170,8 @@ typedef struct mips_elf_abiflags_v0 { #define

[RFC PATCH 23/66] Hexagon generator phase 2 - opcodes_def_generated.h

2020-02-10 Thread Taylor Simpson
Gives a list of all the opcodes Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 12 1 file changed, 12 insertions(+) diff --git a/target/hexagon/do_qemu.py b/target/hexagon/do_qemu.py index 43acdd7..5439964 100755 --- a/target/hexagon/do_qemu.py +++ b/target/hexagon

[RFC PATCH 28/66] Hexagon generater phase 4 - Decode tree

2020-02-10 Thread Taylor Simpson
Python script that emits the decode tree in dectree_generated.h. Signed-off-by: Taylor Simpson --- target/hexagon/dectree.py | 354 ++ 1 file changed, 354 insertions(+) create mode 100755 target/hexagon/dectree.py diff --git a/target/hexagon

[RFC PATCH 45/66] Hexagon TCG generation - step 08

2020-02-10 Thread Taylor Simpson
Override mathematical operations with more than one definition Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 30 ++ 1 file changed, 30 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index

[RFC PATCH 49/66] Hexagon TCG generation - step 12

2020-02-10 Thread Taylor Simpson
Override miscellaneous instructions identified during profiling Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 296 ++ 1 file changed, 296 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon

[RFC PATCH 34/66] Hexagon TCG generation helpers - step 2

2020-02-10 Thread Taylor Simpson
Helpers for load-locked/store-conditional Signed-off-by: Taylor Simpson --- target/hexagon/genptr_helpers.h | 52 + 1 file changed, 52 insertions(+) diff --git a/target/hexagon/genptr_helpers.h b/target/hexagon/genptr_helpers.h index 2b91fdb..b780522

[RFC PATCH 63/66] Hexagon HVX helper to commit vector stores (masked and scatter/gather)

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/helper.h| 1 + target/hexagon/op_helper.c | 75 ++ 2 files changed, 76 insertions(+) diff --git a/target/hexagon/helper.h b/target/hexagon/helper.h index 5dc0f71..3e4728d 100644 --- a/target

[RFC PATCH 32/66] Hexagon instruction classes

2020-02-10 Thread Taylor Simpson
Used to determine legal VLIW slots for each instruction Signed-off-by: Taylor Simpson --- target/hexagon/iclass.c | 109 target/hexagon/iclass.h | 46 2 files changed, 155 insertions(+) create mode 100644 target/hexagon

[RFC PATCH 59/66] Hexagon HVX instruction decoding

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/decode.c | 23 +- target/hexagon/mmvec/decode_ext_mmvec.c | 673 target/hexagon/mmvec/decode_ext_mmvec.h | 24 ++ target/hexagon/q6v_decode.c | 14 + 4 files changed, 732 insertions

[RFC PATCH 47/66] Hexagon TCG generation - step 10

2020-02-10 Thread Taylor Simpson
Override compound compare and jump instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 105 ++ 1 file changed, 105 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index 52e4a47

[RFC PATCH 44/66] Hexagon TCG generation - step 07

2020-02-10 Thread Taylor Simpson
Override dczeroa, allocframe, and return instructions Signed-off-by: Taylor Simpson --- target/hexagon/helper_overrides.h | 209 ++ 1 file changed, 209 insertions(+) diff --git a/target/hexagon/helper_overrides.h b/target/hexagon/helper_overrides.h index

[RFC PATCH 24/66] Hexagon generator phase 2 - op_attribs_generated.h

2020-02-10 Thread Taylor Simpson
Lists all the attributes associated with each instruction Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 13 + 1 file changed, 13 insertions(+) diff --git a/target/hexagon/do_qemu.py b/target/hexagon/do_qemu.py index 5439964..f297931 100755 --- a/target/hexagon

[RFC PATCH 10/66] Hexagon register fields

2020-02-10 Thread Taylor Simpson
Declare bitfields within registers such as user status register (USR) Signed-off-by: Taylor Simpson --- target/hexagon/reg_fields.c | 28 +++ target/hexagon/reg_fields.h | 40 +++ target/hexagon/reg_fields_def.h | 109 3

[RFC PATCH 05/66] Hexagon Disassembler

2020-02-10 Thread Taylor Simpson
The Hexagon disassembler calls disassemble_hexagon to decode a packet and format it for printing Signed-off-by: Taylor Simpson --- disas/Makefile.objs | 1 + disas/hexagon.c | 56 + include/disas/dis-asm.h | 1 + 3 files changed, 58

[RFC PATCH 14/66] Hexagon instruction printing

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/printinsn.c | 93 ++ target/hexagon/printinsn.h | 26 + 2 files changed, 119 insertions(+) create mode 100644 target/hexagon/printinsn.c create mode 100644 target/hexagon/printinsn.h diff

[RFC PATCH 04/66] Hexagon register names

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/hex_regs.h | 97 +++ 1 file changed, 97 insertions(+) create mode 100644 target/hexagon/hex_regs.h diff --git a/target/hexagon/hex_regs.h b/target/hexagon/hex_regs.h new file mode 100644 index 000

[RFC PATCH 09/66] Hexagon architecture types

2020-02-10 Thread Taylor Simpson
Define types used in files imported from the Hexagon architecture library Signed-off-by: Taylor Simpson --- target/hexagon/hex_arch_types.h | 42 + 1 file changed, 42 insertions(+) create mode 100644 target/hexagon/hex_arch_types.h diff --git a/target

[RFC PATCH 07/66] Hexagon GDB Stub

2020-02-10 Thread Taylor Simpson
GDB register read and write routines Signed-off-by: Taylor Simpson --- target/hexagon/cpu.c | 3 +++ target/hexagon/gdbstub.c | 49 2 files changed, 52 insertions(+) create mode 100644 target/hexagon/gdbstub.c diff --git a/target/hexagon

[RFC PATCH 12/66] Hexagon register map

2020-02-10 Thread Taylor Simpson
Certain operand types represent a non-contiguous set of values. For example, the compound compare-and-jump instruction can only access registers R0-R7 and R16-23. This table represents the mapping from the encoding to the actual values. Signed-off-by: Taylor Simpson --- target/hexagon/regmap.h

[RFC PATCH 51/66] Hexagon Linux user emulation

2020-02-10 Thread Taylor Simpson
Implementation of Linux user emulation for RISC-V Some common files modified in addition to new files in linux-user/hexagon Signed-off-by: Taylor Simpson --- linux-user/elfload.c| 16 ++ linux-user/hexagon/cpu_loop.c | 173 ++ linux-user/hexagon/signal.c

[RFC PATCH 64/66] Hexagon HVX TCG generation

2020-02-10 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/genptr.c | 1 + target/hexagon/genptr_helpers.h | 189 2 files changed, 190 insertions(+) diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c index 30319b5..3da0018 100644 --- a/target

[RFC PATCH 35/66] Hexagon TCG generation helpers - step 3

2020-02-10 Thread Taylor Simpson
Helpers for store instructions Signed-off-by: Taylor Simpson --- target/hexagon/genptr_helpers.h | 77 + 1 file changed, 77 insertions(+) diff --git a/target/hexagon/genptr_helpers.h b/target/hexagon/genptr_helpers.h index b780522..27f965a 100644

[RFC PATCH 61/66] Hexagon HVX macros to interface with the generator

2020-02-10 Thread Taylor Simpson
Various forms of declare, read, write, free for HVX operands Signed-off-by: Taylor Simpson --- target/hexagon/mmvec/macros.h | 232 ++ 1 file changed, 232 insertions(+) create mode 100644 target/hexagon/mmvec/macros.h diff --git a/target/hexagon/mmvec

[RFC PATCH 60/66] Hexagon HVX instruction utility functions

2020-02-10 Thread Taylor Simpson
Functions to support scatter/gather Signed-off-by: Taylor Simpson --- target/hexagon/mmvec/system_ext_mmvec.c | 265 target/hexagon/mmvec/system_ext_mmvec.h | 38 + 2 files changed, 303 insertions(+) create mode 100644 target/hexagon/mmvec

RE: [PATCH 1/2] tcg: Add tcg_gen_gvec_5_ptr

2020-02-12 Thread Taylor Simpson
Reviewed-by: Taylor Simpson > -Original Message- > From: Richard Henderson > Sent: Tuesday, February 11, 2020 8:52 PM > To: qemu-devel@nongnu.org > Cc: peter.mayd...@linaro.org; alex.ben...@linaro.org; Taylor Simpson > > Subject: [PATCH 1/2] tcg: Add tcg_gen_

RE: [PATCH 2/2] target/arm: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA

2020-02-12 Thread Taylor Simpson
Reviewed-by: Taylor Simpson > -Original Message- > From: Richard Henderson > Sent: Tuesday, February 11, 2020 8:52 PM > To: qemu-devel@nongnu.org > Cc: peter.mayd...@linaro.org; alex.ben...@linaro.org; Taylor Simpson > > Subject: [PATCH 2/2] target/arm: Use tcg_g

RE: [RFC PATCH 29/66] Hexagon opcode data structures

2020-02-12 Thread Taylor Simpson
> -Original Message- > From: Philippe Mathieu-Daudé > Sent: Tuesday, February 11, 2020 1:41 AM > To: Taylor Simpson ; qemu-devel@nongnu.org > Cc: richard.hender...@linaro.org; laur...@vivier.eu; riku.voi...@iki.fi; > aleksandar.m.m...@gmail.com > Subject: Re: [RFC

RE: [PATCH v3 0/4] linux-user: fix use of SIGRTMIN

2020-02-12 Thread Taylor Simpson
Tested-by: Taylor Simpson > -Original Message- > From: Laurent Vivier > Sent: Wednesday, February 12, 2020 6:57 AM > To: qemu-devel@nongnu.org > Cc: Aleksandar Markovic ; Laurent Vivier > ; Matus Kysel ; > milos.stojano...@rt-rk.com; Riku Voipio ; Josh Kunz >

[RFC PATCH v2 03/67] Hexagon ELF Machine Definition

2020-02-28 Thread Taylor Simpson
Define EM_HEXAGON 164 Signed-off-by: Taylor Simpson Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé --- include/elf.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/elf.h b/include/elf.h index 8fbfe60..d51e7d4 100644 --- a/include/elf.h +++ b/include/elf.h

[RFC PATCH v2 24/67] Hexagon generator phase 2 - opcodes_def_generated.h

2020-02-28 Thread Taylor Simpson
Gives a list of all the opcodes Signed-off-by: Taylor Simpson --- target/hexagon/do_qemu.py | 12 1 file changed, 12 insertions(+) diff --git a/target/hexagon/do_qemu.py b/target/hexagon/do_qemu.py index 3f52ef3..107e1e8 100755 --- a/target/hexagon/do_qemu.py +++ b/target/hexagon

[RFC PATCH v2 05/67] Hexagon register names

2020-02-28 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/hex_regs.h | 99 +++ 1 file changed, 99 insertions(+) create mode 100644 target/hexagon/hex_regs.h diff --git a/target/hexagon/hex_regs.h b/target/hexagon/hex_regs.h new file mode 100644 index 000

[RFC PATCH v2 10/67] Hexagon instruction and packet types

2020-02-28 Thread Taylor Simpson
The insn_t and packet_t are the interface between instruction decoding and TCG code generation Signed-off-by: Taylor Simpson --- target/hexagon/insn.h | 133 ++ 1 file changed, 133 insertions(+) create mode 100644 target/hexagon/insn.h diff

[RFC PATCH v2 15/67] Hexagon instruction printing

2020-02-28 Thread Taylor Simpson
Signed-off-by: Taylor Simpson --- target/hexagon/printinsn.h | 26 + target/hexagon/printinsn.c | 91 ++ 2 files changed, 117 insertions(+) create mode 100644 target/hexagon/printinsn.h create mode 100644 target/hexagon/printinsn.c diff

[RFC PATCH v2 14/67] Hexagon instruction/packet decode

2020-02-28 Thread Taylor Simpson
extenders Separate subinsn's into two instructions Break compare-jumps into two instructions Create instructions for :endloop Signed-off-by: Taylor Simpson --- target/hexagon/decode.h | 39 +++ target/hexagon/decode.c | 769 target

[RFC PATCH v2 33/67] Hexagon instruction classes

2020-02-28 Thread Taylor Simpson
Used to determine legal VLIW slots for each instruction Signed-off-by: Taylor Simpson --- target/hexagon/iclass.h | 46 + target/hexagon/iclass.c | 107 2 files changed, 153 insertions(+) create mode 100644 target/hexagon

[RFC PATCH v2 29/67] Hexagon generater phase 4 - Decode tree

2020-02-28 Thread Taylor Simpson
Python script that emits the decode tree in dectree_generated.h. Tested-by: Philippe Mathieu-Daudé --- target/hexagon/dectree.py | 353 ++ 1 file changed, 353 insertions(+) create mode 100755 target/hexagon/dectree.py diff --git

  1   2   3   4   5   6   7   8   9   10   >