From: "Alex Bennée" <alex.bennee@linaro.org>
To: Taylor Simpson <tsimpson@quicinc.com>
Cc: ale@rev.ng, bcain@quicinc.com, richard.henderson@linaro.org,
qemu-devel@nongnu.org, laurent@vivier.eu, philmd@redhat.com
Subject: Re: [PATCH v6 00/35] Hexagon patch series
Date: Tue, 12 Jan 2021 19:42:00 +0000 [thread overview]
Message-ID: <87eeiqlz46.fsf@linaro.org> (raw)
In-Reply-To: <1610080146-14968-1-git-send-email-tsimpson@quicinc.com>
Taylor Simpson <tsimpson@quicinc.com> writes:
> This series adds support for the Hexagon processor with Linux user support
>
> See patch 02/33 Hexagon README for detailed information.
>
> This series assumes int128_or() is implemented.
> https://lists.nongnu.org/archive/html/qemu-devel/2020-10/msg06004.html
>
> The series is also available at https://github.com/quic/qemu on branch
> small_series_v6.
>
>
> Once the series is applied, the Hexagon port will pass "make check-tcg".
> The series also includes Hexagon-specific tests in tcg/tests/hexagon.
>
> The final 3 patches in the series add docker support. Thanks to Alessandro
> Di Federico <ale@rev.ng> and Brian Cain <bcain@quicinc.com> for making this
> happen. The container files will build a Hexagon toolchain from source.
> Alternatively, this command will get a pre-built container
> docker pull revng/qemu:debian-hexagon-cross
> Ultimately, we'll a method to create a container without building the toolchain.
>
> Once the container is set up, here are the commands to verify the code:
> mkdir build
> cd build
> ../configure --target-list=hexagon-linux-user
> make
> make check-tcg DOCKER_IMAGE=debian-hexagon-cross \
> DOCKER_CROSS_CC_GUEST=hexagon-unknown-linux-musl-clang
check-tcg should be picking up the DOCKER_IMAGE and
DOCKER_CROSS_CC_GUEST values from the configure.sh script settings which
get dumped in $BLDIR/tests/tcg/config-hexagon.mak
You can run just the hexagon tests with:
make run-tcg-tests-hexagon-linux-user
>
>
> *** Known checkpatch issues ***
>
> The following are known checkpatch errors in the series
> target/hexagon/reg_fields.h Complex macro
> target/hexagon/attribs.h Complex macro
> target/hexagon/decode.c Complex macro
> target/hexagon/q6v_decode.c Macro needs do - while
> target/hexagon/printinsn.c Macro needs do - while
> target/hexagon/gen_semantics.c Suspicious ; after while (0)
> target/hexagon/gen_dectree_import.c Complex macro
> target/hexagon/gen_dectree_import.c Suspicious ; after while (0)
> target/hexagon/opcodes.c Complex macro
> target/hexagon/iclass.h Complex macro
> configure.sh Line over 90 characters
> tests/tcg/configure.sh Line over 90 characters
> scripts/qemu-binfmt-conf.sh Line over 90 characters
>
> The following are known checkpatch warnings in the series
> target/hexagon/fma_emu.c Comments inside macro definition
> target/hexagon/gen_tcg_funcs.py Line over 80 characters
> scripts/qemu-binfmt-conf.sh Line over 80 characters
>
> *** Changes in v6 ***
> Correct QEMU_GENERATE implementations for fLSBNEW0/fLSBNEW1
> Change Python file handling to use with statement
> Change import hex_common to be explicit
> Generator cleanup
> Change N?N (new value) to value instead of register number for consistency
> Fixed bud in reading control register pair
> Add ctx_log_reg_write_pair
> Clean up control reg offset from HEX_REG_SA0
> Fix errors in FP instructions uncovered by musl libc-tests
> Added unit tests
>
> *** Changes in v5 ***
> Bug fixes
> Properly implement circular addressing
> memw(r1++I:circ(m0)) = r2
> Make gen_cmpnd_cmp_jmp execute in 2 parts
>
> Address remaining blocker items from Richard Henderson's review.
> Use qemu softfloat
> Use const where appropriate
> Break tcg_funcs_generated.h into two files - functions and table
> Change struct and enum type names to CamelCase
> Include packet in raw bytes in assembly
> Use DEF_HELPER_FLAGS where possible
> Fix merge_bytes endianness and overlap test by doing the store before load
> Use bitmask instead of string in decoding
> Add comments to decoder
> Use qemu/int128.h
> Use qemu/bitops.h for instruction attributes
> Add bitmask for ctx->reg_log
> Note we still have the array/idx for iteration during gen_commit_packet
> Change opcode_syntax to be created at compile time in gen_dectree_import.c
> Remove unused tmp variables
> Isolate hex_arch_types to imported files
> Fix git am whitespace warnings
>
> Address items from Philippe Mathieu-Daudé's review
> Split utility functions patch into 3 digestable patches
> Fixed type "definition"
> Change all exit codes to be either 0 or 1
> Validated build with gcc 4.8, 5.5, and *****
> Removed qemu/osdep.h and qemu/host-utils.h from macros.h
>
> Address items from Laurent Vivier's review
> Don't filter out __NR_syscalls
> Remove syscall_nr_generators from linux-user/hexagon/meson.build
> Remove subdir('hexagon') from linux-user/meson.build
> Generate syscall_nr.h from 5.5 Linux kernel
>
>
> *** Changes in v4 ***
> Convert target/hexagon/Makefile.objs to meson.build
>
> Address portions of feedback from Richard Henderson. Here is the table
> of items from Richard's review.
> Patch Item Blocker Status
> Use qemu softfloat Yes
> Use qemu decodetree.py No
> Several Use const when appropriate Yes
> Several Remove anything after g_assert_not_reached Yes DONE
> Several Fix log_store32/64 add/remove/add in patch series Yes DONE
> Several Follow naming guidelines for structs and enums Yes
> 4 Move decls to cpu-param.h Yes DONE
> 4 Remove CONFIG_USER_ONLY ifdef's Yes DONE
> 4 Remove DEBUG_HEXAGON Yes Partially
> 4 Remove stack pointer modification hack Yes DONE
> 4 Add property x-lldb-compat to control output Yes DONE
> 6 Include instruction and raw bytes in disassembly Yes
> 7 Use DEF_HELPER_FLAGS No
> 07, 26 Endianness of merge_bytes Yes
> 7 Fix overlap test Yes
> 7 Remove HELPER(debug_value)/HELPER(debug_value_i64) Yes DONE
> 9 Include "qemu/osdep.h" instead of <stdint.h> Yes DONE
> Several Stick with stdint.h types except in imported files Yes DONE
> 11 Remove description from reg field definitions Yes DONE
> 13 Move regmap.h into decode.c Yes DONE
> 14, 27 Use bit mask instead of strings in decoding No
> 14 Add comments to decoder Yes
> 16 Use qemu/int128.h No
> 17 Squash patches dealing with imported files Yes DONE
> 24 Use qemu/bitops.h for instruction attributes No
> 24 Fix initialization of opcode_short_semantics Yes DONE
> 24 Change if (p == NULL) { g_assert_not_reached(); }
> to assert(p != NULL) No DONE
> 25 Expand DECL/READ/WRITE/FREE macros in generator Yes DONE
> 26 Rewrite fINSERT*, fEXTRACT*, f?XTN macros Yes DONE
> 26 Investigate fRND macro No DONE
> 26 Change REG = REG to (VOID)REG to suppress warning Yes DONE
> 27 Remove multiple includes of imported/iclass.def Yes DONE
> 28 Move genptr_helpers.h into genptr.c Yes DONE
> 28 Remove unneeded temps No DONE
> 28 Use tcg_gen_deposit_tl and tcg_gen_extract_tl
> when dealing with p3_0 No DONE
> 29 Size opcode_genptr[] properly and initialize
> with [TAG] = generate_##TAG Yes DONE
> 30 Don't generate helpers for overridden instructions Yes DONE
> Don't include "gen_tcg.h" in helper.h Yes DONE
> 31 Use bitmask for ctx->reg_log instead of an array Yes
> 31 Use tcg_gen_extract_i32 for gen_slot_cancelled_check Yes DONE
> 31 Properly deal with reading instructions across
> a page boundary and too many instructions before
> finding end-of-packet Yes DONE
> 31 Don't set PC at the beginning of every packet No
> 31 Don't set slot_cancelled unless needed No
> 31 Don't set hex_pred_written unless needed No
> 31 Change cancelled variable to not local Yes DONE
> 31 Remove unnecessary temp Yes DONE
> 31 Let tcg_gen_addi_tl check for zero Yes DONE
> 31 Move gen_exec_counters to end of TB No
> 31 Move end of TB handling to hexagon_tr_tb_stop Yes DONE
> Generate two lists for TCG functions instead of
> the DEF_TCG_FUNC macro Yes DONE
>
>
> *** Changes in v3 ***
> Remove substantial portions of the code to facilitate review
> - Plan to submit subsequent patches
> - Hexagon Vector eXtensions (HVX)
> - Circular and bit-reverse addressiong
> - Add/sub-with-carry
> - Unused insn_t and pkt_t fields
> - Unused instruction attributes
> - All TCG overrides except instructions with multiple definitions
> - Unused macros
> - Unused reg fields
> - COUNT_HEX_HELPERS
> Use Laurent's gensyscall.sh script to generate linux-user/hexagon/syscall_nr.h
> Handle mem_noshuf
> Remove "RsV = RsV" per review feedback
> Simplify include file structure
> Add directed tests in <qemu>/tests/tcg/hexagon
> Change fWRAP_* macros to fGEN_TCG_*
>
> *** Changes in v2 ***
> - Use scripts/git.orderfile
> - Create a README with the code overview in patch 0001
> - Change #define's in hex_regs.h to an enum
> - Replace hard coded disassembly buffer length (1028) with #define
> - Move Hexagon architecture types patch earlier in series
> - Replace #include standard header files with #include "qemu/osdep.h"
> - Prefix all header file #ifndef's with HEXAGON_
> - Update python version to python3
> - #include "tcg/tcg.h" in genptr_helpers.h
> - Change target/hexagon/Makefile.objs to support out-of-tree build
> - Updated copyright to include year 2020
> - Bug fixes
> Fix some problems with HEX_DEBUG output
> Fix bug in circular addressing
> - Optimizations to reduce the amount of TCG code generated
> Change pred_written from an array to a bit mask
>
>
>
> Alessandro Di Federico (3):
> Add Dockerfile for hexagon
> Auto-import Docker support files
> Add newline when generating Dockerfile
>
> Taylor Simpson (32):
> Hexagon Update MAINTAINERS file
> Hexagon (target/hexagon) README
> Hexagon (include/elf.h) ELF machine definition
> Hexagon (target/hexagon) scalar core definition
> Hexagon (disas) disassembler
> Hexagon (target/hexagon) register names
> Hexagon (target/hexagon) scalar core helpers
> Hexagon (target/hexagon) GDB Stub
> Hexagon (target/hexagon) architecture types
> Hexagon (target/hexagon) instruction and packet types
> Hexagon (target/hexagon) register fields
> Hexagon (target/hexagon) instruction attributes
> Hexagon (target/hexagon) instruction/packet decode
> Hexagon (target/hexagon) instruction printing
> Hexagon (target/hexagon/arch.[ch]) utility functions
> Hexagon (target/hexagon/conv_emu.[ch]) utility functions
> Hexagon (target/hexagon/fma_emu.[ch]) utility functions
> Hexagon (target/hexagon/imported) arch import
> Hexagon (target/hexagon) generator phase 1 - C preprocessor for
> semantics
> Hexagon (target/hexagon) generator phase 2 - generate header files
> Hexagon (target/hexagon) generator phase 3 - C preprocessor for decode
> tree
> Hexagon (target/hexagon) generater phase 4 - decode tree
> Hexagon (target/hexagon) opcode data structures
> Hexagon (target/hexagon) macros
> Hexagon (target/hexagon) instruction classes
> Hexagon (target/hexagon) TCG generation
> Hexagon (target/hexagon) TCG for instructions with multiple
> definitions
> Hexagon (target/hexagon) TCG for floating point instructions
> Hexagon (target/hexagon) translation
> Hexagon (linux-user/hexagon) Linux user emulation
> Hexagon (tests/tcg/hexagon) TCG tests
> Hexagon build infrastructure
>
> default-configs/targets/hexagon-linux-user.mak | 1 +
> meson.build | 1 +
> include/disas/dis-asm.h | 1 +
> include/elf.h | 1 +
> 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 | 46 +
> linux-user/hexagon/target_syscall.h | 36 +
> linux-user/hexagon/termbits.h | 18 +
> linux-user/qemu.h | 2 +
> linux-user/syscall_defs.h | 33 +
> target/hexagon/arch.h | 35 +
> target/hexagon/attribs.h | 30 +
> target/hexagon/attribs_def.h | 97 +
> target/hexagon/conv_emu.h | 31 +
> target/hexagon/cpu-param.h | 29 +
> target/hexagon/cpu.h | 159 ++
> target/hexagon/cpu_bits.h | 59 +
> target/hexagon/decode.h | 32 +
> target/hexagon/fma_emu.h | 37 +
> target/hexagon/gen_tcg.h | 319 +++
> target/hexagon/genptr.h | 25 +
> target/hexagon/helper.h | 85 +
> target/hexagon/hex_arch_types.h | 38 +
> target/hexagon/hex_regs.h | 83 +
> target/hexagon/iclass.h | 50 +
> target/hexagon/insn.h | 74 +
> target/hexagon/internal.h | 39 +
> target/hexagon/macros.h | 591 ++++++
> target/hexagon/opcodes.h | 63 +
> target/hexagon/printinsn.h | 28 +
> target/hexagon/reg_fields.h | 36 +
> target/hexagon/reg_fields_def.h | 41 +
> target/hexagon/translate.h | 91 +
> disas/hexagon.c | 68 +
> linux-user/elfload.c | 16 +
> linux-user/hexagon/cpu_loop.c | 99 +
> linux-user/hexagon/signal.c | 276 +++
> target/hexagon/arch.c | 294 +++
> target/hexagon/conv_emu.c | 177 ++
> target/hexagon/cpu.c | 314 +++
> target/hexagon/decode.c | 581 ++++++
> target/hexagon/fma_emu.c | 701 +++++++
> target/hexagon/gdbstub.c | 47 +
> target/hexagon/gen_dectree_import.c | 187 ++
> target/hexagon/gen_semantics.c | 88 +
> target/hexagon/genptr.c | 234 +++
> target/hexagon/iclass.c | 73 +
> target/hexagon/op_helper.c | 1016 ++++++++++
> target/hexagon/opcodes.c | 142 ++
> target/hexagon/printinsn.c | 158 ++
> target/hexagon/q6v_decode.c | 385 ++++
> target/hexagon/reg_fields.c | 27 +
> target/hexagon/translate.c | 687 +++++++
> tests/tcg/hexagon/atomics.c | 122 ++
> tests/tcg/hexagon/clrtnew.c | 56 +
> tests/tcg/hexagon/dual_stores.c | 60 +
> tests/tcg/hexagon/fpstuff.c | 370 ++++
> tests/tcg/hexagon/mem_noshuf.c | 328 +++
> tests/tcg/hexagon/misc.c | 360 ++++
> tests/tcg/hexagon/preg_alias.c | 106 +
> tests/tcg/hexagon/pthread_cancel.c | 43 +
> MAINTAINERS | 8 +
> disas/meson.build | 1 +
> scripts/gensyscalls.sh | 1 +
> scripts/qemu-binfmt-conf.sh | 6 +-
> target/hexagon/README | 235 +++
> target/hexagon/dectree.py | 351 ++++
> target/hexagon/gen_helper_funcs.py | 220 ++
> target/hexagon/gen_helper_protos.py | 150 ++
> target/hexagon/gen_op_attribs.py | 40 +
> target/hexagon/gen_op_regs.py | 111 +
> target/hexagon/gen_opcodes_def.py | 37 +
> target/hexagon/gen_printinsn.py | 174 ++
> target/hexagon/gen_shortcode.py | 63 +
> target/hexagon/gen_tcg_func_table.py | 58 +
> target/hexagon/gen_tcg_funcs.py | 532 +++++
> target/hexagon/hex_common.py | 216 ++
> target/hexagon/imported/allidefs.def | 30 +
> target/hexagon/imported/alu.idef | 1258 ++++++++++++
> target/hexagon/imported/branch.idef | 326 +++
> target/hexagon/imported/compare.idef | 619 ++++++
> target/hexagon/imported/encode.def | 124 ++
> target/hexagon/imported/encode_pp.def | 2110 ++++++++++++++++++++
> target/hexagon/imported/encode_subinsn.def | 149 ++
> target/hexagon/imported/float.idef | 312 +++
> target/hexagon/imported/iclass.def | 51 +
> target/hexagon/imported/ldst.idef | 286 +++
> target/hexagon/imported/macros.def | 1526 ++++++++++++++
> target/hexagon/imported/mpy.idef | 1208 +++++++++++
> target/hexagon/imported/shift.idef | 1066 ++++++++++
> target/hexagon/imported/subinsns.idef | 149 ++
> target/hexagon/imported/system.idef | 65 +
> target/hexagon/meson.build | 187 ++
> target/meson.build | 1 +
> tests/docker/docker.py | 12 +-
> .../debian-hexagon-cross.build-toolchain.sh | 141 ++
> .../docker/dockerfiles/debian-hexagon-cross.docker | 18 +
> tests/tcg/configure.sh | 8 +-
> tests/tcg/hexagon/Makefile.target | 48 +
> tests/tcg/hexagon/first.S | 56 +
> tests/tcg/hexagon/float_convs.ref | 748 +++++++
> tests/tcg/hexagon/float_madds.ref | 768 +++++++
> 107 files changed, 23165 insertions(+), 6 deletions(-)
> create mode 100644 default-configs/targets/hexagon-linux-user.mak
> 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 target/hexagon/arch.h
> create mode 100644 target/hexagon/attribs.h
> create mode 100644 target/hexagon/attribs_def.h
> create mode 100644 target/hexagon/conv_emu.h
> create mode 100644 target/hexagon/cpu-param.h
> create mode 100644 target/hexagon/cpu.h
> create mode 100644 target/hexagon/cpu_bits.h
> create mode 100644 target/hexagon/decode.h
> create mode 100644 target/hexagon/fma_emu.h
> create mode 100644 target/hexagon/gen_tcg.h
> create mode 100644 target/hexagon/genptr.h
> create mode 100644 target/hexagon/helper.h
> create mode 100644 target/hexagon/hex_arch_types.h
> create mode 100644 target/hexagon/hex_regs.h
> create mode 100644 target/hexagon/iclass.h
> create mode 100644 target/hexagon/insn.h
> create mode 100644 target/hexagon/internal.h
> create mode 100644 target/hexagon/macros.h
> create mode 100644 target/hexagon/opcodes.h
> create mode 100644 target/hexagon/printinsn.h
> create mode 100644 target/hexagon/reg_fields.h
> create mode 100644 target/hexagon/reg_fields_def.h
> create mode 100644 target/hexagon/translate.h
> create mode 100644 disas/hexagon.c
> create mode 100644 linux-user/hexagon/cpu_loop.c
> create mode 100644 linux-user/hexagon/signal.c
> create mode 100644 target/hexagon/arch.c
> create mode 100644 target/hexagon/conv_emu.c
> create mode 100644 target/hexagon/cpu.c
> create mode 100644 target/hexagon/decode.c
> create mode 100644 target/hexagon/fma_emu.c
> create mode 100644 target/hexagon/gdbstub.c
> create mode 100644 target/hexagon/gen_dectree_import.c
> create mode 100644 target/hexagon/gen_semantics.c
> create mode 100644 target/hexagon/genptr.c
> create mode 100644 target/hexagon/iclass.c
> create mode 100644 target/hexagon/op_helper.c
> create mode 100644 target/hexagon/opcodes.c
> create mode 100644 target/hexagon/printinsn.c
> create mode 100644 target/hexagon/q6v_decode.c
> create mode 100644 target/hexagon/reg_fields.c
> create mode 100644 target/hexagon/translate.c
> create mode 100644 tests/tcg/hexagon/atomics.c
> create mode 100644 tests/tcg/hexagon/clrtnew.c
> create mode 100644 tests/tcg/hexagon/dual_stores.c
> create mode 100644 tests/tcg/hexagon/fpstuff.c
> create mode 100644 tests/tcg/hexagon/mem_noshuf.c
> create mode 100644 tests/tcg/hexagon/misc.c
> create mode 100644 tests/tcg/hexagon/preg_alias.c
> create mode 100644 tests/tcg/hexagon/pthread_cancel.c
> create mode 100644 target/hexagon/README
> create mode 100755 target/hexagon/dectree.py
> create mode 100755 target/hexagon/gen_helper_funcs.py
> create mode 100755 target/hexagon/gen_helper_protos.py
> create mode 100755 target/hexagon/gen_op_attribs.py
> create mode 100755 target/hexagon/gen_op_regs.py
> create mode 100755 target/hexagon/gen_opcodes_def.py
> create mode 100755 target/hexagon/gen_printinsn.py
> create mode 100755 target/hexagon/gen_shortcode.py
> create mode 100755 target/hexagon/gen_tcg_func_table.py
> create mode 100755 target/hexagon/gen_tcg_funcs.py
> create mode 100755 target/hexagon/hex_common.py
> create mode 100644 target/hexagon/imported/allidefs.def
> create mode 100644 target/hexagon/imported/alu.idef
> create mode 100644 target/hexagon/imported/branch.idef
> create mode 100644 target/hexagon/imported/compare.idef
> create mode 100644 target/hexagon/imported/encode.def
> create mode 100644 target/hexagon/imported/encode_pp.def
> create mode 100644 target/hexagon/imported/encode_subinsn.def
> create mode 100644 target/hexagon/imported/float.idef
> create mode 100644 target/hexagon/imported/iclass.def
> create mode 100644 target/hexagon/imported/ldst.idef
> create mode 100755 target/hexagon/imported/macros.def
> create mode 100644 target/hexagon/imported/mpy.idef
> create mode 100644 target/hexagon/imported/shift.idef
> create mode 100644 target/hexagon/imported/subinsns.idef
> create mode 100644 target/hexagon/imported/system.idef
> create mode 100644 target/hexagon/meson.build
> create mode 100755 tests/docker/dockerfiles/debian-hexagon-cross.build-toolchain.sh
> create mode 100644 tests/docker/dockerfiles/debian-hexagon-cross.docker
> create mode 100644 tests/tcg/hexagon/Makefile.target
> create mode 100644 tests/tcg/hexagon/first.S
> create mode 100644 tests/tcg/hexagon/float_convs.ref
> create mode 100644 tests/tcg/hexagon/float_madds.ref
--
Alex Bennée
prev parent reply other threads:[~2021-01-12 19:46 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-08 4:28 [PATCH v6 00/35] Hexagon patch series Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 01/35] Hexagon Update MAINTAINERS file Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 02/35] Hexagon (target/hexagon) README Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 03/35] Hexagon (include/elf.h) ELF machine definition Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 04/35] Hexagon (target/hexagon) scalar core definition Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 05/35] Hexagon (disas) disassembler Taylor Simpson
2021-01-09 21:37 ` Philippe Mathieu-Daudé
2021-01-11 21:14 ` Taylor Simpson
2021-01-11 22:20 ` Philippe Mathieu-Daudé
2021-01-12 9:35 ` Daniel P. Berrangé
2021-01-08 4:28 ` [PATCH v6 06/35] Hexagon (target/hexagon) register names Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 07/35] Hexagon (target/hexagon) scalar core helpers Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 08/35] Hexagon (target/hexagon) GDB Stub Taylor Simpson
2021-01-09 21:44 ` Philippe Mathieu-Daudé
2021-01-08 4:28 ` [PATCH v6 09/35] Hexagon (target/hexagon) architecture types Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 10/35] Hexagon (target/hexagon) instruction and packet types Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 11/35] Hexagon (target/hexagon) register fields Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 12/35] Hexagon (target/hexagon) instruction attributes Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 13/35] Hexagon (target/hexagon) instruction/packet decode Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 14/35] Hexagon (target/hexagon) instruction printing Taylor Simpson
2021-01-09 22:41 ` Philippe Mathieu-Daudé
2021-01-08 4:28 ` [PATCH v6 15/35] Hexagon (target/hexagon/arch.[ch]) utility functions Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 16/35] Hexagon (target/hexagon/conv_emu.[ch]) " Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 17/35] Hexagon (target/hexagon/fma_emu.[ch]) " Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 18/35] Hexagon (target/hexagon/imported) arch import Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 19/35] Hexagon (target/hexagon) generator phase 1 - C preprocessor for semantics Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 20/35] Hexagon (target/hexagon) generator phase 2 - generate header files Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 21/35] Hexagon (target/hexagon) generator phase 3 - C preprocessor for decode tree Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 22/35] Hexagon (target/hexagon) generater phase 4 - " Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 23/35] Hexagon (target/hexagon) opcode data structures Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 24/35] Hexagon (target/hexagon) macros Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 25/35] Hexagon (target/hexagon) instruction classes Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 26/35] Hexagon (target/hexagon) TCG generation Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 27/35] Hexagon (target/hexagon) TCG for instructions with multiple definitions Taylor Simpson
2021-01-08 4:28 ` [PATCH v6 28/35] Hexagon (target/hexagon) TCG for floating point instructions Taylor Simpson
2021-01-08 4:29 ` [PATCH v6 29/35] Hexagon (target/hexagon) translation Taylor Simpson
2021-01-08 4:29 ` [PATCH v6 30/35] Hexagon (linux-user/hexagon) Linux user emulation Taylor Simpson
2021-01-08 4:29 ` [PATCH v6 31/35] Hexagon (tests/tcg/hexagon) TCG tests Taylor Simpson
2021-01-12 12:04 ` Alex Bennée
2021-01-12 17:06 ` Taylor Simpson
2021-01-08 4:29 ` [PATCH v6 32/35] Hexagon build infrastructure Taylor Simpson
2021-01-08 4:29 ` [PATCH v6 33/35] Add Dockerfile for hexagon Taylor Simpson
2021-01-08 4:29 ` [PATCH v6 34/35] Auto-import Docker support files Taylor Simpson
2021-01-12 11:58 ` Alex Bennée
2021-01-12 13:53 ` Alessandro Di Federico via
2021-01-12 18:26 ` Alex Bennée
2021-01-21 12:20 ` ale--- via
2021-01-08 4:29 ` [PATCH v6 35/35] Add newline when generating Dockerfile Taylor Simpson
2021-01-12 11:59 ` Alex Bennée
2021-01-08 5:16 ` [PATCH v6 00/35] Hexagon patch series no-reply
2021-01-12 19:42 ` Alex Bennée [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87eeiqlz46.fsf@linaro.org \
--to=alex.bennee@linaro.org \
--cc=ale@rev.ng \
--cc=bcain@quicinc.com \
--cc=laurent@vivier.eu \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=tsimpson@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).