[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 17ed7c: tests/docker: Hexagon toolchain updat
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 17ed7c: tests/docker: Hexagon toolchain update |
Date: |
Tue, 23 Jan 2024 08:37:28 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 17ed7cec55c3f1baed7d4f62c3ef71b26e1b82c1
https://github.com/qemu/qemu/commit/17ed7cec55c3f1baed7d4f62c3ef71b26e1b82c1
Author: Brian Cain <bcain@quicinc.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M tests/docker/dockerfiles/debian-hexagon-cross.docker
Log Message:
-----------
tests/docker: Hexagon toolchain update
This update includes support for privileged instructions.
Signed-off-by: Brian Cain <bcain@quicinc.com>
Reviewed-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
Tested-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
Message-Id: <20240114232354.4109231-1-bcain@quicinc.com>
Commit: ccdae09a8054731fbf49d5f223ff1903408a5ac3
https://github.com/qemu/qemu/commit/ccdae09a8054731fbf49d5f223ff1903408a5ac3
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/macros.h
Log Message:
-----------
Hexagon (target/hexagon) Fix shadow variable when idef-parser is off
Adding -Werror=shadow=compatible-local causes Hexagon not to build
when idef-parser is off. The "label" variable in CHECK_NOSHUF_PRED
shadows a variable in the surrounding code.
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20231130183955.54314-1-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: 421b53d589e2a714b3f3175dddedda9755e83387
https://github.com/qemu/qemu/commit/421b53d589e2a714b3f3175dddedda9755e83387
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/gen_tcg.h
M target/hexagon/gen_tcg_funcs.py
M target/hexagon/idef-parser/parser-helpers.c
M target/hexagon/macros.h
Log Message:
-----------
Hexagon (target/hexagon) Clean up handling of modifier registers
Currently, the register number (MuN) for modifier registers is the
modifier register number rather than the index into hex_gpr. This
patch changes MuN to the hex_gpr index, which is consistent with
the handling of control registers.
Note that HELPER(fcircadd) needs the CS register corresponding to the
modifier register specified in the instruction. We create a TCGv
variable "CS" to hold the value to pass to the helper.
Reviewed-by: Brian Cain <bcain@quicinc.com>
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Message-Id: <20231210220712.491494-2-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: b44780740d4a1b70ff45a6e4d923e29880ce3c0e
https://github.com/qemu/qemu/commit/b44780740d4a1b70ff45a6e4d923e29880ce3c0e
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/gen_tcg_funcs.py
M target/hexagon/hex_common.py
Log Message:
-----------
Hexagon (target/hexagon) Make generators object oriented - gen_tcg_funcs
The generators are generally a bunch of Python if-then-else
statements based on the regtype and regid. Encapsulate regtype/regid
into a class hierarchy. Clients lookup the register and invoke
methods.
This has several advantages for making the code easier to read,
understand, and maintain
- The class name makes it more clear what the operand does
- All the methods for a given type of operand are together
- Don't need hex_common.bad_register
If a regtype/regid is missing, the lookup in hex_common.get_register
will fail
- We can remove the functions in hex_common that use regtype/regid
(e.g., is_read)
This patch creates the class hierarchy in hex_common and converts
gen_tcg_funcs.py. The other scripts will be converted in subsequent
patches in this series.
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20231210220712.491494-3-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: c568919f98d87de203ef6c234f3baedcccbc380d
https://github.com/qemu/qemu/commit/c568919f98d87de203ef6c234f3baedcccbc380d
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/gen_helper_protos.py
M target/hexagon/hex_common.py
Log Message:
-----------
Hexagon (target/hexagon) Make generators object oriented - gen_helper_protos
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20231210220712.491494-4-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: a3295f5436b8f4078a9c3e0cf61d82a8ed24d847
https://github.com/qemu/qemu/commit/a3295f5436b8f4078a9c3e0cf61d82a8ed24d847
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/gen_helper_funcs.py
M target/hexagon/hex_common.py
Log Message:
-----------
Hexagon (target/hexagon) Make generators object oriented - gen_helper_funcs
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20231210220712.491494-5-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: 1f03e9a94ee453c11e5c9d755e35cba21dc6c740
https://github.com/qemu/qemu/commit/1f03e9a94ee453c11e5c9d755e35cba21dc6c740
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/gen_idef_parser_funcs.py
Log Message:
-----------
Hexagon (target/hexagon) Make generators object oriented -
gen_idef_parser_funcs
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20231210220712.491494-6-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: c90e3103a392427f8fc7d4177c793d556ee8ed87
https://github.com/qemu/qemu/commit/c90e3103a392427f8fc7d4177c793d556ee8ed87
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/gen_op_regs.py
Log Message:
-----------
Hexagon (target/hexagon) Make generators object oriented - gen_op_regs
Reviewed-by: Brian Cain <bcain@quicinc.com>
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Message-Id: <20231210220712.491494-7-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: 66fab981c0407aa0374684e196cf4ac17b976721
https://github.com/qemu/qemu/commit/66fab981c0407aa0374684e196cf4ac17b976721
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/gen_analyze_funcs.py
M target/hexagon/hex_common.py
Log Message:
-----------
Hexagon (target/hexagon) Make generators object oriented - gen_analyze_funcs
This patch conflicts with
https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg00729.html
If that series goes in first, we'll rework this patch and vice versa.
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20231210220712.491494-8-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: 800abf87b0b7f34b610aae9d64481c302eb83159
https://github.com/qemu/qemu/commit/800abf87b0b7f34b610aae9d64481c302eb83159
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/attribs_def.h.inc
M target/hexagon/hex_common.py
Log Message:
-----------
Hexagon (target/hexagon) Remove unused WRITES_PRED_REG attribute
This is the only remaining use of the is_written function. We will
remove it in the subsequent commit.
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20231210220712.491494-9-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: 7ee328804c66d93f8ab0fde35384c4f01eb7844a
https://github.com/qemu/qemu/commit/7ee328804c66d93f8ab0fde35384c4f01eb7844a
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/hex_common.py
Log Message:
-----------
Hexagon (target/hexagon) Remove dead functions from hex_common.py
These functions are no longer used after making the generators
object oriented.
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20231210220712.491494-10-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: 1547a2d3394d7ec87350ab8ca4022d5e0f20db01
https://github.com/qemu/qemu/commit/1547a2d3394d7ec87350ab8ca4022d5e0f20db01
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/README
M target/hexagon/decode.c
M target/hexagon/decode.h
A target/hexagon/gen_decodetree.py
A target/hexagon/gen_trans_funcs.py
M target/hexagon/meson.build
M target/hexagon/translate.c
Log Message:
-----------
Hexagon (target/hexagon) Use QEMU decodetree (32-bit instructions)
The Decodetree Specification can be found here
https://www.qemu.org/docs/master/devel/decodetree.html
Covers all 32-bit instructions, including HVX
We generate separate decoders for each instruction class. The reason
will be more apparent in the next patch in this series.
We add 2 new scripts
gen_decodetree.py Generate the input to decodetree.py
gen_trans_funcs.py Generate the trans_* functions used by the
output of decodetree.py
Since the functions generated by decodetree.py take DisasContext * as an
argument, we add the argument to a couple of functions that didn't need
it previously. We also set the insn field in DisasContext during decode
because it is used by the trans_* functions.
There is a g_assert_not_reached() in decode_insns() in decode.c to
verify we never try to use the old decoder on 32-bit instructions
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20240115221443.365287-2-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: f6c01009b5846b1e7c56b4be3413924d87a7bbea
https://github.com/qemu/qemu/commit/f6c01009b5846b1e7c56b4be3413924d87a7bbea
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/README
M target/hexagon/decode.c
M target/hexagon/gen_decodetree.py
M target/hexagon/gen_trans_funcs.py
M target/hexagon/meson.build
Log Message:
-----------
Hexagon (target/hexagon) Use QEMU decodetree (16-bit instructions)
Section 10.3 of the Hexagon V73 Programmer's Reference Manual
A duplex is encoded as a 32-bit instruction with bits [15:14] set to 00.
The sub-instructions that comprise a duplex are encoded as 13-bit fields
in the duplex.
Create a decoder for each subinstruction class (a, l1, l2, s1, s2).
Extend gen_trans_funcs.py to handle all instructions rather than
filter by instruction class.
There is a g_assert_not_reached() in decode_insns() in decode.c to
verify we never try to use the old decoder on 16-bit instructions.
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20240115221443.365287-3-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: cbb9d7157d3e1886bdc7da757ea7ab02a9e0e1e5
https://github.com/qemu/qemu/commit/cbb9d7157d3e1886bdc7da757ea7ab02a9e0e1e5
Author: Taylor Simpson <ltaylorsimpson@gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/decode.c
R target/hexagon/dectree.py
M target/hexagon/gen_dectree_import.c
M target/hexagon/meson.build
M target/hexagon/opcodes.c
M target/hexagon/opcodes.h
Log Message:
-----------
Hexagon (target/hexagon) Remove old dectree.py
Now that we are using QEMU decodetree.py, remove the old decoder
Signed-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>
Reviewed-by: Brian Cain <bcain@quicinc.com>
Message-Id: <20240115221443.365287-4-ltaylorsimpson@gmail.com>
Signed-off-by: Brian Cain <bcain@quicinc.com>
Commit: bbe4209c8b4300d722f47791f9151e1a69cb0135
https://github.com/qemu/qemu/commit/bbe4209c8b4300d722f47791f9151e1a69cb0135
Author: Brian Cain <bcain@quicinc.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M target/hexagon/mmvec/decode_ext_mmvec.c
Log Message:
-----------
target/hexagon: reduce scope of def_regnum, remove dead assignment
This is intended to address a coverity finding: CID 1527408.
Signed-off-by: Brian Cain <bcain@quicinc.com>
Reviewed-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
Message-Id: <20240114234453.4114587-1-bcain@quicinc.com>
Commit: 4a4efae44f19528589204581e9e2fab69c5d39aa
https://github.com/qemu/qemu/commit/4a4efae44f19528589204581e9e2fab69c5d39aa
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M target/hexagon/README
M target/hexagon/attribs_def.h.inc
M target/hexagon/decode.c
M target/hexagon/decode.h
R target/hexagon/dectree.py
M target/hexagon/gen_analyze_funcs.py
A target/hexagon/gen_decodetree.py
M target/hexagon/gen_dectree_import.c
M target/hexagon/gen_helper_funcs.py
M target/hexagon/gen_helper_protos.py
M target/hexagon/gen_idef_parser_funcs.py
M target/hexagon/gen_op_regs.py
M target/hexagon/gen_tcg.h
M target/hexagon/gen_tcg_funcs.py
A target/hexagon/gen_trans_funcs.py
M target/hexagon/hex_common.py
M target/hexagon/idef-parser/parser-helpers.c
M target/hexagon/macros.h
M target/hexagon/meson.build
M target/hexagon/mmvec/decode_ext_mmvec.c
M target/hexagon/opcodes.c
M target/hexagon/opcodes.h
M target/hexagon/translate.c
M tests/docker/dockerfiles/debian-hexagon-cross.docker
Log Message:
-----------
Merge tag 'pull-hex-20240121' of https://github.com/quic/qemu into staging
Coverity fix, cross toolchain update, switch to decodetree
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCgAdFiEEPWaq5HRZSCTIjOD4GlSvuOVkbDIFAmWuBTwACgkQGlSvuOVk
# bDKP2xAAoRj18rgFPSXu1Dmh34uhZ2uxTAdqyozLqlHJBBiaUxA7EyZJqvOc+8Ti
# owLIF5fYPL1MZ7EfwW8FZjAc29WtGzmRY/ZwEDZVgdVAyLCnZ0fF785caWdxH5L2
# bA2i9hNfCJvd3HqfeJ0JXgWD/rF5OjlSKWwYOGPkfjkDnSwAV9LlxGq+yhxjpYcc
# uSwVUbIipzUQoH5O53xXt2OUSW+WNUYzKpsnLjW/2wTBgXpBXIuxUzao/Iv37hdo
# OMcDiM7mH6ic5JoiNyL9pmquOCpwTGHWyREaiWga1IzJIbRKn/Ypr0N1KsTAc28V
# 10GcbMpwKHG/umzhi9BoiPTfD1jXIzYWasH+RyBMz3bNCCaKuJmGSnohbud8UVDH
# GJHhF72RhBt/bYnwmoYW3OXvk8X+mL7vuq4lKDAB2XNDjAS3+mcGuSu4KJDJeXi9
# l5/Kx0Aef0mmzEbXALErpYP6TTlgj2CCsym3SXi0UuAI94v1sV346jejebMRUndq
# UKKUXb+oC0BUNBUPdnaUIr5GAnQl5Xm2E3pihl28NO+U0xvHQSSxInv84Y3JGDiW
# /ui4ZYux0V+iHok9MO0ugaIF9Z1o16D43TkZdLbulm8ODuCEz8CuQjDVoayWj3CV
# wb290m96zgS03aRAM+yQa+irTrOJ5bh1XOP1dr/FGQHln0mUCCQ=
# =aIh2
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 22 Jan 2024 06:03:40 GMT
# gpg: using RSA key 3D66AAE474594824C88CE0F81A54AFB8E5646C32
# gpg: Good signature from "Brian Cain <bcain@kernel.org>" [full]
# gpg: aka "Brian Cain (QuIC) <bcain@quicinc.com>" [full]
# gpg: aka "Brian Cain (CAF) <bcain@codeaurora.org>" [full]
# gpg: aka "bcain" [full]
# Primary key fingerprint: 6350 20F9 67A7 7164 79EF 49E0 175C 464E 541B 6D47
# Subkey fingerprint: 3D66 AAE4 7459 4824 C88C E0F8 1A54 AFB8 E564 6C32
* tag 'pull-hex-20240121' of https://github.com/quic/qemu:
target/hexagon: reduce scope of def_regnum, remove dead assignment
Hexagon (target/hexagon) Remove old dectree.py
Hexagon (target/hexagon) Use QEMU decodetree (16-bit instructions)
Hexagon (target/hexagon) Use QEMU decodetree (32-bit instructions)
Hexagon (target/hexagon) Remove dead functions from hex_common.py
Hexagon (target/hexagon) Remove unused WRITES_PRED_REG attribute
Hexagon (target/hexagon) Make generators object oriented - gen_analyze_funcs
Hexagon (target/hexagon) Make generators object oriented - gen_op_regs
Hexagon (target/hexagon) Make generators object oriented -
gen_idef_parser_funcs
Hexagon (target/hexagon) Make generators object oriented - gen_helper_funcs
Hexagon (target/hexagon) Make generators object oriented - gen_helper_protos
Hexagon (target/hexagon) Make generators object oriented - gen_tcg_funcs
Hexagon (target/hexagon) Clean up handling of modifier registers
Hexagon (target/hexagon) Fix shadow variable when idef-parser is off
tests/docker: Hexagon toolchain update
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/09be34717190...4a4efae44f19
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 17ed7c: tests/docker: Hexagon toolchain update,
Peter Maydell <=