Message ID | 20240618160039.36108-1-philmd@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 6/18/24 08:59, Philippe Mathieu-Daudé wrote: > The following changes since commit 900536d3e97aed7fdd9cb4dadd3bf7023360e819: > > Merge tag 'dirtylimit-dirtyrate-pull-request-20240617' ofhttps://github.com/newfriday/qemu into staging (2024-06-17 11:40:24 -0700) > > are available in the Git repository at: > > https://github.com/philmd/qemu.git tags/misc-20240618 > > for you to fetch changes up to 02ad1f5b04bf2941852f405c87535307365f7041: > > ui+display: rename is_buffer_shared() -> surface_is_allocated() (2024-06-18 17:54:40 +0200) > > Spurious warning (3 times): > > WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? > > Deliberately ignored in ui/ (also 3 times): > > WARNING: line over 80 characters > > ---------------------------------------------------------------- > Misc patches queue > > . Remove deprecated pc-i440fx-2.0 -> 2.3 machines (Phil) > . Always use little endian audio format in virtio-snd (Phil) > . Avoid using Monitor in INTERRUPT_STATS_PROVIDER::print_info (Phil) > . Introduce x-query-interrupt-controllers QMP command (Phil) > . Introduce pnv_chip_foreach_cpu() to remove one CPU_FOREACH use (Cédric) > . Set arm_v7m_tcg_ops::cpu_exec_halt & mandate TCGCPUOps::cpu_exec_halt (Peter) > . Constify few uses of IOMMUTLBEvent (Phil) > . Wire loongson_ipi device to loongson3_virt/TCG (Jiaxun) > . Fix inclusion of tracing headers on s390x/TCG (Phil) > . Add few shortcuts missing to readline (Manos) > . Update ui/display entries in MAINTAINERS (Gerd) > . Use qemu_add_mouse_change_notifier on Cocoa (Akihiko) > . Fix Standard VGA screen blanking and cleanups (Gerd) > . Fix USB/MTP reported "free space" value (Fabio) Fails testing: https://gitlab.com/qemu-project/qemu/-/jobs/7129004955 qemu-system-tricore: ../accel/tcg/cpu-exec.c:1082: tcg_exec_realizefn: Assertion `cpu->cc->tcg_ops->cpu_exec_halt' failed. r~
On 18/6/24 22:06, Richard Henderson wrote: > On 6/18/24 08:59, Philippe Mathieu-Daudé wrote: >> The following changes since commit >> 900536d3e97aed7fdd9cb4dadd3bf7023360e819: >> >> Merge tag 'dirtylimit-dirtyrate-pull-request-20240617' >> ofhttps://github.com/newfriday/qemu into staging (2024-06-17 11:40:24 >> -0700) >> >> are available in the Git repository at: >> >> https://github.com/philmd/qemu.git tags/misc-20240618 >> >> for you to fetch changes up to 02ad1f5b04bf2941852f405c87535307365f7041: >> >> ui+display: rename is_buffer_shared() -> surface_is_allocated() >> (2024-06-18 17:54:40 +0200) >> >> Spurious warning (3 times): >> >> WARNING: added, moved or deleted file(s), does MAINTAINERS need >> updating? >> >> Deliberately ignored in ui/ (also 3 times): >> >> WARNING: line over 80 characters >> >> ---------------------------------------------------------------- >> Misc patches queue >> >> . Remove deprecated pc-i440fx-2.0 -> 2.3 machines (Phil) >> . Always use little endian audio format in virtio-snd (Phil) >> . Avoid using Monitor in INTERRUPT_STATS_PROVIDER::print_info (Phil) >> . Introduce x-query-interrupt-controllers QMP command (Phil) >> . Introduce pnv_chip_foreach_cpu() to remove one CPU_FOREACH use (Cédric) >> . Set arm_v7m_tcg_ops::cpu_exec_halt & mandate >> TCGCPUOps::cpu_exec_halt (Peter) >> . Constify few uses of IOMMUTLBEvent (Phil) >> . Wire loongson_ipi device to loongson3_virt/TCG (Jiaxun) >> . Fix inclusion of tracing headers on s390x/TCG (Phil) >> . Add few shortcuts missing to readline (Manos) >> . Update ui/display entries in MAINTAINERS (Gerd) >> . Use qemu_add_mouse_change_notifier on Cocoa (Akihiko) >> . Fix Standard VGA screen blanking and cleanups (Gerd) >> . Fix USB/MTP reported "free space" value (Fabio) > > Fails testing: > > https://gitlab.com/qemu-project/qemu/-/jobs/7129004955 > > qemu-system-tricore: ../accel/tcg/cpu-exec.c:1082: tcg_exec_realizefn: > Assertion `cpu->cc->tcg_ops->cpu_exec_halt' failed. Doh sorry, I tested but hit a libusb issue on this target and mingw64, tested there and thought this was the only issue and missed that. Hmm cpu_has_work() is defined inlined. I'll just drop the 3 lines I added to Peter's patch and send his unmodified. Regards, Phil.
On 6/18/24 13:15, Philippe Mathieu-Daudé wrote: > On 18/6/24 22:06, Richard Henderson wrote: >> On 6/18/24 08:59, Philippe Mathieu-Daudé wrote: >>> The following changes since commit 900536d3e97aed7fdd9cb4dadd3bf7023360e819: >>> >>> Merge tag 'dirtylimit-dirtyrate-pull-request-20240617' >>> ofhttps://github.com/newfriday/qemu into staging (2024-06-17 11:40:24 -0700) >>> >>> are available in the Git repository at: >>> >>> https://github.com/philmd/qemu.git tags/misc-20240618 >>> >>> for you to fetch changes up to 02ad1f5b04bf2941852f405c87535307365f7041: >>> >>> ui+display: rename is_buffer_shared() -> surface_is_allocated() (2024-06-18 17:54:40 >>> +0200) >>> >>> Spurious warning (3 times): >>> >>> WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? >>> >>> Deliberately ignored in ui/ (also 3 times): >>> >>> WARNING: line over 80 characters >>> >>> ---------------------------------------------------------------- >>> Misc patches queue >>> >>> . Remove deprecated pc-i440fx-2.0 -> 2.3 machines (Phil) >>> . Always use little endian audio format in virtio-snd (Phil) >>> . Avoid using Monitor in INTERRUPT_STATS_PROVIDER::print_info (Phil) >>> . Introduce x-query-interrupt-controllers QMP command (Phil) >>> . Introduce pnv_chip_foreach_cpu() to remove one CPU_FOREACH use (Cédric) >>> . Set arm_v7m_tcg_ops::cpu_exec_halt & mandate TCGCPUOps::cpu_exec_halt (Peter) >>> . Constify few uses of IOMMUTLBEvent (Phil) >>> . Wire loongson_ipi device to loongson3_virt/TCG (Jiaxun) >>> . Fix inclusion of tracing headers on s390x/TCG (Phil) >>> . Add few shortcuts missing to readline (Manos) >>> . Update ui/display entries in MAINTAINERS (Gerd) >>> . Use qemu_add_mouse_change_notifier on Cocoa (Akihiko) >>> . Fix Standard VGA screen blanking and cleanups (Gerd) >>> . Fix USB/MTP reported "free space" value (Fabio) >> >> Fails testing: >> >> https://gitlab.com/qemu-project/qemu/-/jobs/7129004955 >> >> qemu-system-tricore: ../accel/tcg/cpu-exec.c:1082: tcg_exec_realizefn: Assertion >> `cpu->cc->tcg_ops->cpu_exec_halt' failed. > > Doh sorry, I tested but hit a libusb issue on this target and mingw64, > tested there and thought this was the only issue and missed that. > > Hmm cpu_has_work() is defined inlined. I'll just drop the 3 lines > I added to Peter's patch and send his unmodified. No, the assert is exactly correct, and caught a bug in the previous patch (55/76). Without your assert, we will just SEGV in cpu_handle_halt instead with patch (56/76). r~
On 18/6/24 22:32, Richard Henderson wrote: > On 6/18/24 13:15, Philippe Mathieu-Daudé wrote: >> On 18/6/24 22:06, Richard Henderson wrote: >>> On 6/18/24 08:59, Philippe Mathieu-Daudé wrote: >>>> The following changes since commit >>>> 900536d3e97aed7fdd9cb4dadd3bf7023360e819: >>>> >>>> Merge tag 'dirtylimit-dirtyrate-pull-request-20240617' >>>> ofhttps://github.com/newfriday/qemu into staging (2024-06-17 >>>> 11:40:24 -0700) >>>> >>>> are available in the Git repository at: >>>> >>>> https://github.com/philmd/qemu.git tags/misc-20240618 >>>> >>>> for you to fetch changes up to >>>> 02ad1f5b04bf2941852f405c87535307365f7041: >>>> >>>> ui+display: rename is_buffer_shared() -> surface_is_allocated() >>>> (2024-06-18 17:54:40 +0200) >>>> >>>> Spurious warning (3 times): >>>> >>>> WARNING: added, moved or deleted file(s), does MAINTAINERS need >>>> updating? >>>> >>>> Deliberately ignored in ui/ (also 3 times): >>>> >>>> WARNING: line over 80 characters >>>> >>>> ---------------------------------------------------------------- >>>> Misc patches queue >>>> >>>> . Remove deprecated pc-i440fx-2.0 -> 2.3 machines (Phil) >>>> . Always use little endian audio format in virtio-snd (Phil) >>>> . Avoid using Monitor in INTERRUPT_STATS_PROVIDER::print_info (Phil) >>>> . Introduce x-query-interrupt-controllers QMP command (Phil) >>>> . Introduce pnv_chip_foreach_cpu() to remove one CPU_FOREACH use >>>> (Cédric) >>>> . Set arm_v7m_tcg_ops::cpu_exec_halt & mandate >>>> TCGCPUOps::cpu_exec_halt (Peter) >>>> . Constify few uses of IOMMUTLBEvent (Phil) >>>> . Wire loongson_ipi device to loongson3_virt/TCG (Jiaxun) >>>> . Fix inclusion of tracing headers on s390x/TCG (Phil) >>>> . Add few shortcuts missing to readline (Manos) >>>> . Update ui/display entries in MAINTAINERS (Gerd) >>>> . Use qemu_add_mouse_change_notifier on Cocoa (Akihiko) >>>> . Fix Standard VGA screen blanking and cleanups (Gerd) >>>> . Fix USB/MTP reported "free space" value (Fabio) >>> >>> Fails testing: >>> >>> https://gitlab.com/qemu-project/qemu/-/jobs/7129004955 >>> >>> qemu-system-tricore: ../accel/tcg/cpu-exec.c:1082: >>> tcg_exec_realizefn: Assertion `cpu->cc->tcg_ops->cpu_exec_halt' failed. >> >> Doh sorry, I tested but hit a libusb issue on this target and mingw64, >> tested there and thought this was the only issue and missed that. >> >> Hmm cpu_has_work() is defined inlined. I'll just drop the 3 lines >> I added to Peter's patch and send his unmodified. > > No, the assert is exactly correct, and caught a bug in the previous > patch (55/76). > Without your assert, we will just SEGV in cpu_handle_halt instead with > patch (56/76). Yeah, it was too late here to realize that. Peter, I'll respin without your series. Do you mind taking your "target/arm: Set arm_v7m_tcg_ops cpu_exec_halt to arm_cpu_exec_halt" patch via your ARM tree, that way I don't delay you further. Thanks, Phil.
On Wed, 19 Jun 2024 at 11:44, Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > On 18/6/24 22:32, Richard Henderson wrote: > > On 6/18/24 13:15, Philippe Mathieu-Daudé wrote: > >> On 18/6/24 22:06, Richard Henderson wrote: > >>> On 6/18/24 08:59, Philippe Mathieu-Daudé wrote: > >>>> The following changes since commit > >>>> 900536d3e97aed7fdd9cb4dadd3bf7023360e819: > >>>> > >>>> Merge tag 'dirtylimit-dirtyrate-pull-request-20240617' > >>>> ofhttps://github.com/newfriday/qemu into staging (2024-06-17 > >>>> 11:40:24 -0700) > >>>> > >>>> are available in the Git repository at: > >>>> > >>>> https://github.com/philmd/qemu.git tags/misc-20240618 > >>>> > >>>> for you to fetch changes up to > >>>> 02ad1f5b04bf2941852f405c87535307365f7041: > >>>> > >>>> ui+display: rename is_buffer_shared() -> surface_is_allocated() > >>>> (2024-06-18 17:54:40 +0200) > >>>> > >>>> Spurious warning (3 times): > >>>> > >>>> WARNING: added, moved or deleted file(s), does MAINTAINERS need > >>>> updating? > >>>> > >>>> Deliberately ignored in ui/ (also 3 times): > >>>> > >>>> WARNING: line over 80 characters > >>>> > >>>> ---------------------------------------------------------------- > >>>> Misc patches queue > >>>> > >>>> . Remove deprecated pc-i440fx-2.0 -> 2.3 machines (Phil) > >>>> . Always use little endian audio format in virtio-snd (Phil) > >>>> . Avoid using Monitor in INTERRUPT_STATS_PROVIDER::print_info (Phil) > >>>> . Introduce x-query-interrupt-controllers QMP command (Phil) > >>>> . Introduce pnv_chip_foreach_cpu() to remove one CPU_FOREACH use > >>>> (Cédric) > >>>> . Set arm_v7m_tcg_ops::cpu_exec_halt & mandate > >>>> TCGCPUOps::cpu_exec_halt (Peter) > >>>> . Constify few uses of IOMMUTLBEvent (Phil) > >>>> . Wire loongson_ipi device to loongson3_virt/TCG (Jiaxun) > >>>> . Fix inclusion of tracing headers on s390x/TCG (Phil) > >>>> . Add few shortcuts missing to readline (Manos) > >>>> . Update ui/display entries in MAINTAINERS (Gerd) > >>>> . Use qemu_add_mouse_change_notifier on Cocoa (Akihiko) > >>>> . Fix Standard VGA screen blanking and cleanups (Gerd) > >>>> . Fix USB/MTP reported "free space" value (Fabio) > >>> > >>> Fails testing: > >>> > >>> https://gitlab.com/qemu-project/qemu/-/jobs/7129004955 > >>> > >>> qemu-system-tricore: ../accel/tcg/cpu-exec.c:1082: > >>> tcg_exec_realizefn: Assertion `cpu->cc->tcg_ops->cpu_exec_halt' failed. > >> > >> Doh sorry, I tested but hit a libusb issue on this target and mingw64, > >> tested there and thought this was the only issue and missed that. > >> > >> Hmm cpu_has_work() is defined inlined. I'll just drop the 3 lines > >> I added to Peter's patch and send his unmodified. > > > > No, the assert is exactly correct, and caught a bug in the previous > > patch (55/76). > > Without your assert, we will just SEGV in cpu_handle_halt instead with > > patch (56/76). > > Yeah, it was too late here to realize that. > > Peter, I'll respin without your series. Do you mind taking your > "target/arm: Set arm_v7m_tcg_ops cpu_exec_halt to arm_cpu_exec_halt" > patch via your ARM tree, that way I don't delay you further. Sure, I can do that. (I don't think this series particularly is likely to conflict with anything else in flight.) -- PMM
On Tue, 18 Jun 2024 at 21:32, Richard Henderson <richard.henderson@linaro.org> wrote: > > On 6/18/24 13:15, Philippe Mathieu-Daudé wrote: > > On 18/6/24 22:06, Richard Henderson wrote: > >> Fails testing: > >> > >> https://gitlab.com/qemu-project/qemu/-/jobs/7129004955 > >> > >> qemu-system-tricore: ../accel/tcg/cpu-exec.c:1082: tcg_exec_realizefn: Assertion > >> `cpu->cc->tcg_ops->cpu_exec_halt' failed. > > > > Doh sorry, I tested but hit a libusb issue on this target and mingw64, > > tested there and thought this was the only issue and missed that. > > > > Hmm cpu_has_work() is defined inlined. I'll just drop the 3 lines > > I added to Peter's patch and send his unmodified. > > No, the assert is exactly correct, and caught a bug in the previous patch (55/76). > Without your assert, we will just SEGV in cpu_handle_halt instead with patch (56/76). Yep, we're missing the setup of .cpu_exec_halt for tricore. I missed this because I used a grep for the setup of .cpu_exec_interrupt to find all the TCGCPUOps I needed to update, and for some reason tricore doesn't implement that hook. (This surprises me because I expected every guest CPU to need to provide handling for interrupts. But looking at the callsite in accel/tcg it does indeed allow a target to leave cpu_exec_interrupt NULL.) Though we won't ever segv without the assert() in patch 3: tricore doesn't implement a halt state, so we won't ever try to call the non-existent cpu_exec_halt method. (This is why my local testing didn't catch the missing method.) Anyway, I've squashed this in to patch 2 and re-queued the series to target-arm.next: --- a/target/tricore/cpu.c +++ b/target/tricore/cpu.c @@ -169,6 +169,7 @@ static const TCGCPUOps tricore_tcg_ops = { .synchronize_from_tb = tricore_cpu_synchronize_from_tb, .restore_state_to_opc = tricore_restore_state_to_opc, .tlb_fill = tricore_cpu_tlb_fill, + .cpu_exec_halt = tricore_cpu_has_work, }; -- PMM