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:
>>> 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'.