1 | A last collection of patches to squeeze in before rc0. | 1 | The following changes since commit e3debd5e7d0ce031356024878a0a18b9d109354a: |
---|---|---|---|
2 | The patches from me are all bugfixes. Philippe's are just | ||
3 | code-movement, but I wanted to get these into 4.1 because | ||
4 | that kind of patch is so painful to have to rebase. | ||
5 | (The diffstat is huge but it's just code moving from file to file.) | ||
6 | 2 | ||
7 | v2: fix up for clash with the qapi refactor which only | 3 | Merge tag 'pull-request-2023-03-24' of https://gitlab.com/thuth/qemu into staging (2023-03-24 16:08:46 +0000) |
8 | showed up in a build-from-clean. | ||
9 | |||
10 | thanks | ||
11 | -- PMM | ||
12 | |||
13 | |||
14 | The following changes since commit c3e1d838cfa5aac1a6210c8ddf182d0ef7d95dd8: | ||
15 | |||
16 | Merge remote-tracking branch 'remotes/kraxel/tags/ui-20190704-pull-request' into staging (2019-07-04 16:43:13 +0100) | ||
17 | 4 | ||
18 | are available in the Git repository at: | 5 | are available in the Git repository at: |
19 | 6 | ||
20 | https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20190704-1 | 7 | https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20230328 |
21 | 8 | ||
22 | for you to fetch changes up to 89a11ff756410aecb87d2c774df6e45dbf4105c1: | 9 | for you to fetch changes up to 46e3b237c52e0c48bfd81bce020b51fbe300b23a: |
23 | 10 | ||
24 | target/arm: Correct VMOV_imm_dp handling of short vectors (2019-07-04 17:25:30 +0100) | 11 | target/arm/gdbstub: Only advertise M-profile features if TCG available (2023-03-28 10:53:40 +0100) |
25 | 12 | ||
26 | ---------------------------------------------------------------- | 13 | ---------------------------------------------------------------- |
27 | target-arm queue: | 14 | target-arm queue: |
28 | * more code-movement to separate TCG-only functions into their own files | 15 | * fix part of the "TCG-disabled builds are broken" issue |
29 | * Correct VMOV_imm_dp handling of short vectors | ||
30 | * Execute Thumb instructions when their condbits are 0xf | ||
31 | * armv7m_systick: Forbid non-privileged accesses | ||
32 | * Use _ra versions of cpu_stl_data() in v7M helpers | ||
33 | * v8M: Check state of exception being returned from | ||
34 | * v8M: Forcibly clear negative-priority exceptions on deactivate | ||
35 | 16 | ||
36 | ---------------------------------------------------------------- | 17 | ---------------------------------------------------------------- |
37 | Peter Maydell (6): | 18 | Philippe Mathieu-Daudé (1): |
38 | arm v8M: Forcibly clear negative-priority exceptions on deactivate | 19 | target/arm/gdbstub: Only advertise M-profile features if TCG available |
39 | target/arm: v8M: Check state of exception being returned from | ||
40 | target/arm: Use _ra versions of cpu_stl_data() in v7M helpers | ||
41 | hw/timer/armv7m_systick: Forbid non-privileged accesses | ||
42 | target/arm: Execute Thumb instructions when their condbits are 0xf | ||
43 | target/arm: Correct VMOV_imm_dp handling of short vectors | ||
44 | 20 | ||
45 | Philippe Mathieu-Daudé (3): | 21 | target/arm/gdbstub.c | 5 +++-- |
46 | target/arm: Move debug routines to debug_helper.c | 22 | 1 file changed, 3 insertions(+), 2 deletions(-) |
47 | target/arm: Restrict semi-hosting to TCG | ||
48 | target/arm/helper: Move M profile routines to m_helper.c | ||
49 | 23 | ||
50 | target/arm/Makefile.objs | 5 +- | ||
51 | target/arm/cpu.h | 7 + | ||
52 | hw/intc/armv7m_nvic.c | 54 +- | ||
53 | hw/timer/armv7m_systick.c | 26 +- | ||
54 | target/arm/cpu.c | 9 +- | ||
55 | target/arm/debug_helper.c | 311 +++++ | ||
56 | target/arm/helper.c | 2646 +-------------------------------------- | ||
57 | target/arm/m_helper.c | 2679 ++++++++++++++++++++++++++++++++++++++++ | ||
58 | target/arm/op_helper.c | 295 ----- | ||
59 | target/arm/translate-vfp.inc.c | 2 +- | ||
60 | target/arm/translate.c | 15 +- | ||
61 | 11 files changed, 3096 insertions(+), 2953 deletions(-) | ||
62 | create mode 100644 target/arm/debug_helper.c | ||
63 | create mode 100644 target/arm/m_helper.c | ||
64 | diff view generated by jsdifflib |
New patch | |||
---|---|---|---|
1 | From: Philippe Mathieu-Daudé <philmd@linaro.org> | ||
1 | 2 | ||
3 | Cortex-M profile is only emulable from TCG accelerator. Restrict | ||
4 | the GDBstub features to its availability in order to avoid a link | ||
5 | error when TCG is not enabled: | ||
6 | |||
7 | Undefined symbols for architecture arm64: | ||
8 | "_arm_v7m_get_sp_ptr", referenced from: | ||
9 | _m_sysreg_get in target_arm_gdbstub.c.o | ||
10 | "_arm_v7m_mrs_control", referenced from: | ||
11 | _arm_gdb_get_m_systemreg in target_arm_gdbstub.c.o | ||
12 | ld: symbol(s) not found for architecture arm64 | ||
13 | clang: error: linker command failed with exit code 1 (use -v to see invocation) | ||
14 | |||
15 | Fixes: 7d8b28b8b5 ("target/arm: Implement gdbstub m-profile systemreg and secext") | ||
16 | Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> | ||
17 | Reviewed-by: Richard Henderson <richard.henderson@linaro.org> | ||
18 | Reviewed-by: Alex Bennée <alex.bennee@linaro.org> | ||
19 | Message-id: 20230322142902.69511-3-philmd@linaro.org | ||
20 | [PMM: add #include since I cherry-picked this patch from the series] | ||
21 | Signed-off-by: Peter Maydell <peter.maydell@linaro.org> | ||
22 | --- | ||
23 | target/arm/gdbstub.c | 5 +++-- | ||
24 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
25 | |||
26 | diff --git a/target/arm/gdbstub.c b/target/arm/gdbstub.c | ||
27 | index XXXXXXX..XXXXXXX 100644 | ||
28 | --- a/target/arm/gdbstub.c | ||
29 | +++ b/target/arm/gdbstub.c | ||
30 | @@ -XXX,XX +XXX,XX @@ | ||
31 | #include "cpu.h" | ||
32 | #include "exec/gdbstub.h" | ||
33 | #include "gdbstub/helpers.h" | ||
34 | +#include "sysemu/tcg.h" | ||
35 | #include "internals.h" | ||
36 | #include "cpregs.h" | ||
37 | |||
38 | @@ -XXX,XX +XXX,XX @@ void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu) | ||
39 | 2, "arm-vfp-sysregs.xml", 0); | ||
40 | } | ||
41 | } | ||
42 | - if (cpu_isar_feature(aa32_mve, cpu)) { | ||
43 | + if (cpu_isar_feature(aa32_mve, cpu) && tcg_enabled()) { | ||
44 | gdb_register_coprocessor(cs, mve_gdb_get_reg, mve_gdb_set_reg, | ||
45 | 1, "arm-m-profile-mve.xml", 0); | ||
46 | } | ||
47 | @@ -XXX,XX +XXX,XX @@ void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu) | ||
48 | arm_gen_dynamic_sysreg_xml(cs, cs->gdb_num_regs), | ||
49 | "system-registers.xml", 0); | ||
50 | |||
51 | - if (arm_feature(env, ARM_FEATURE_M)) { | ||
52 | + if (arm_feature(env, ARM_FEATURE_M) && tcg_enabled()) { | ||
53 | gdb_register_coprocessor(cs, | ||
54 | arm_gdb_get_m_systemreg, arm_gdb_set_m_systemreg, | ||
55 | arm_gen_dynamic_m_systemreg_xml(cs, cs->gdb_num_regs), | ||
56 | -- | ||
57 | 2.34.1 | ||
58 | |||
59 | diff view generated by jsdifflib |