qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/20] target/arm: CONFIG_TCG=n part 1


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 00/20] target/arm: CONFIG_TCG=n part 1
Date: Thu, 19 Jan 2023 14:46:26 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1

On 19/1/23 13:32, Fabiano Rosas wrote:
Philippe Mathieu-Daudé <philmd@linaro.org> writes:

On 18/1/23 20:34, Fabiano Rosas wrote:
These are the already reviewed patches from the first half of my
previous series:
20230113140419.4013-1-farosas@suse.de">https://lore.kernel.org/r/20230113140419.4013-1-farosas@suse.de

This unbreaks the --disable-tcg build, but there are issues in runtime
that are still being hashed out in the other series.

Are you saying, we can *link* this configuration but not *run* it yet?

For the build _with_ TCG, this should behave the same as master.

Based on Richard's "target/arm: Introduce aarch64_set_svcr":
https://lore.kernel.org/r/20230112004322.161330-1-richard.henderson@linaro.org

Claudio Fontana (5):
    target/arm: rename handle_semihosting to tcg_handle_semihosting
    target/arm: wrap psci call with tcg_enabled
    target/arm: wrap call to aarch64_sve_change_el in tcg_enabled()
    target/arm: move helpers to tcg/
    target/arm: Move psci.c into the tcg directory

Fabiano Rosas (15):
    target/arm: Move PC alignment check
    target/arm: Move cpregs code out of cpu.h
    target/arm: Move cpregs code into cpregs.c
    target/arm: Move define_debug_regs() to cpregs.c
    target/arm: Wrap breakpoint/watchpoint updates with tcg_enabled
    target/arm: move translate modules to tcg/
    target/arm: Wrap arm_rebuild_hflags calls with tcg_enabled
    target/arm: Move hflags code into the tcg directory
    target/arm: Move regime_using_lpae_format into internal.h
    target/arm: Don't access TCG code when debugging with KVM
    cpu-defs.h: Expose CPUTLBEntryFull to non-TCG code
    target/arm: Move cortex sysregs into cpregs.c
    tests/qtest: Restrict bcm2835-dma-test to CONFIG_RASPI
    tests/avocado: Skip tests that require a missing accelerator
    tests/avocado: Tag TCG tests with accel:tcg

Testing on Darwin:

14/20 qemu:qtest+qtest-aarch64 / qtest-aarch64/test-hmp
ERROR:../../target/arm/helper.c:2495:arm_v7m_mmu_idx_for_secstate: code
should not be reached
17/20 qemu:qtest+qtest-aarch64 / qtest-aarch64/qom-test
          qemu-system-aarch64: unknown type 'arm-gicv3'
18/20 qemu:qtest+qtest-aarch64 / qtest-aarch64/boot-serial-test
qemu-system-aarch64: -accel tcg: invalid accelerator tcg
19/20 qemu:qtest+qtest-aarch64 / qtest-aarch64/vnc-display-test
qemu-system-aarch64: No machine specified, and there is no default
20/20 qemu:qtest+qtest-aarch64 / qtest-aarch64/migration-test
qemu-system-aarch64: -accel tcg: invalid accelerator tcg

Reproducers:

$ ./qemu-system-aarch64 -display none -S -M mps3-an547 -accel qtest
-monitor stdio
QEMU 7.2.50 monitor - type 'help' for more information
(qemu) gva2gpa 0
**
ERROR:../../target/arm/helper.c:2495:arm_v7m_mmu_idx_for_secstate: code
should not be reached
Bail out!
ERROR:../../target/arm/helper.c:2495:arm_v7m_mmu_idx_for_secstate: code
should not be reached
Abort trap: 6

      frame #4: 0x0000000101fdd6cc
libglib-2.0.0.dylib`g_assertion_message_expr + 116
      frame #5: 0x0000000100360ce0
qemu-system-aarch64`arm_v7m_mmu_idx_for_secstate(env=<unavailable>,
secstate=<unavailable>) at helper.c:2495:5
      frame #6: 0x000000010035f7f4
qemu-system-aarch64`arm_mmu_idx_el(env=<unavailable>, el=<unavailable>)
at helper.c:2514:16
      frame #7: 0x00000001002d17ec
qemu-system-aarch64`arm_cpu_get_phys_page_attrs_debug(cs=<unavailable>,
addr=0, attrs=0x000000016fdfda50) at ptw.c:2982:23
      frame #8: 0x00000001003c660c
qemu-system-aarch64`hmp_gva2gpa(mon=0x000060000390f0c0,
qdict=<unavailable>) at misc.c:714:12

$ ./qemu-system-aarch64 -display none -machine sbsa-ref -accel qtest
qemu-system-aarch64: unknown type 'arm-gicv3'
Abort trap: 6

      frame #2: 0x00000001958522c8 libsystem_c.dylib`abort + 180
      frame #3: 0x00000001003d32e8
qemu-system-aarch64`qdev_new(name="arm-gicv3") at qdev.c:164:9
      frame #4: 0x00000001002f30d4 qemu-system-aarch64`sbsa_ref_init
[inlined] create_gic(sms=0x0000000103ff0d10) at sbsa-ref.c:405:16
      frame #5: 0x00000001002f30a0
qemu-system-aarch64`sbsa_ref_init(machine=0x0000000103ff0d10) at
sbsa-ref.c:773:5
      frame #6: 0x00000001000905c0
qemu-system-aarch64`machine_run_board_init(machine=0x0000000103ff0d10,
mem_path=<unavailable>, errp=<unavailable>) at machine.c:1404:5

Are these errors without TCG?

Yes.

If so they will be fixed by the other half
of the series by removing the machines/cpus that depend on TCG. Nothing
against fixing this now in the specific tests, of course, but a user on
the cmdline would also hit these.

I ran 'make check' which calls 'make check-qtest' -> 'make check-qtest-aarch64'.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]