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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.