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: Fabiano Rosas
Subject: Re: [PATCH 00/20] target/arm: CONFIG_TCG=n part 1
Date: Thu, 19 Jan 2023 09:32:16 -0300

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



reply via email to

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