qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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


      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).