All of lore.kernel.org
 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 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.