mbox

[PULL,00/76] Misc patches for 2024-06-18

Message ID 20240618160039.36108-1-philmd@linaro.org
State New
Headers show

Pull-request

https://github.com/philmd/qemu.git tags/misc-20240618

Message

Philippe Mathieu-Daudé June 18, 2024, 3:59 p.m. UTC
The following changes since commit 900536d3e97aed7fdd9cb4dadd3bf7023360e819:

  Merge tag 'dirtylimit-dirtyrate-pull-request-20240617' of https://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)

----------------------------------------------------------------

Akihiko Odaki (1):
  ui/cocoa: Use qemu_add_mouse_change_notifier

Cédric Le Goater (1):
  ppc/pnv: Introduce pnv_chip_foreach_cpu()

Fabio D'Urso (1):
  hw/usb/dev-mtp: Correctly report free space

Gerd Hoffmann (5):
  MAINTAINERS: drop virtio-gpu maintainership
  MAINTAINERS: drop spice+ui maintainership
  stdvga: fix screen blanking
  ui+display: rename is_placeholder() -> surface_is_placeholder()
  ui+display: rename is_buffer_shared() -> surface_is_allocated()

Jiaxun Yang (4):
  hw/intc: Remove loongarch_ipi.c
  hw/intc/loongson_ipi: Provide per core MMIO address spaces
  hw/intc/loongson_ipi: Replace ipi_getcpu with cpu_by_arch_id
  hw/mips/loongson3_virt: Wire up loongson_ipi device

Manos Pitsidianakis (3):
  util/readline: Fix lints for readline_handle_byte
  util/readline: Add C-n, C-p shortcuts
  util/readline: Add C-u shortcut

Peter Maydell (3):
  target/arm: Set arm_v7m_tcg_ops cpu_exec_halt to arm_cpu_exec_halt()
  target: Set TCGCPUOps::cpu_exec_halt to target's has_work
    implementation
  accel/tcg: Make TCGCPUOps::cpu_exec_halt mandatory

Philippe Mathieu-Daudé (58):
  hw/i386/pc: Deprecate 2.4 to 2.12 pc-i440fx machines
  hw/i386/pc: Remove deprecated pc-i440fx-2.0 machine
  hw/usb/hcd-xhci: Remove XHCI_FLAG_FORCE_PCIE_ENDCAP flag
  hw/usb/hcd-xhci: Remove XHCI_FLAG_SS_FIRST flag
  hw/i386/acpi: Remove PCMachineClass::legacy_acpi_table_size
  hw/acpi/ich9: Remove 'memory-hotplug-support' property
  hw/acpi/ich9: Remove dead code related to 'acpi_memory_hotplug'
  hw/i386/pc: Remove deprecated pc-i440fx-2.1 machine
  target/i386/kvm: Remove x86_cpu_change_kvm_default() and 'kvm-cpu.h'
  hw/i386/pc: Remove PCMachineClass::smbios_uuid_encoded
  hw/smbios: Remove 'uuid_encoded' argument from smbios_set_defaults()
  hw/smbios: Remove 'smbios_uuid_encoded', simplify smbios_encode_uuid()
  hw/i386/pc: Remove PCMachineClass::enforce_aligned_dimm
  hw/mem/pc-dimm: Remove legacy_align argument from pc_dimm_pre_plug()
  hw/mem/memory-device: Remove legacy_align from
    memory_device_pre_plug()
  hw/i386/pc: Remove deprecated pc-i440fx-2.2 machine
  hw/i386/pc: Remove PCMachineClass::resizable_acpi_blob
  hw/i386/pc: Remove PCMachineClass::rsdp_in_ram
  hw/i386/acpi: Remove AcpiBuildState::rsdp field
  hw/i386/pc: Remove deprecated pc-i440fx-2.3 machine
  hw/i386/pc: Simplify DEFINE_I440FX_MACHINE() macro
  target/i386: Remove X86CPU::kvm_no_smi_migration field
  hw/i386/pc: Replace PCMachineClass::acpi_data_size by
    PC_ACPI_DATA_SIZE
  hw/audio/virtio-snd: Always use little endian audio format
  hw/ppc: Avoid using Monitor in pnv_phb3_msi_pic_print_info()
  hw/ppc: Avoid using Monitor in icp_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_tctx_pic_print_info()
  hw/ppc: Avoid using Monitor in ics_pic_print_info()
  hw/ppc: Avoid using Monitor in PnvChipClass::intc_print_info()
  hw/ppc: Avoid using Monitor in xive_end_queue_pic_print_info()
  hw/ppc: Avoid using Monitor in spapr_xive_end_pic_print_info()
  hw/ppc: Avoid using Monitor in spapr_xive_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_source_pic_print_info()
  hw/ppc: Avoid using Monitor in pnv_phb4_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_eas_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_end_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_end_eas_pic_print_info()
  hw/ppc: Avoid using Monitor in xive_nvt_pic_print_info()
  hw/ppc: Avoid using Monitor in pnv_xive_pic_print_info()
  hw/ppc: Avoid using Monitor in pnv_psi_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_eas_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_end_eas_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_end_queue_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_end_pic_print_info()
  hw/ppc: Avoid using Monitor in xive2_nvp_pic_print_info()
  hw/ppc: Avoid using Monitor in pnv_xive2_pic_print_info()
  hw/ppc: Avoid using Monitor in
    SpaprInterruptControllerClass::print_info()
  hw/ppc: Avoid using Monitor in spapr_irq_print_info()
  hw/ppc: Avoid using Monitor in pnv_chip_power9_pic_print_info_child()
  hw/ppc: Avoid using Monitor in pic_print_info()
  hw/intc: Avoid using Monitor in INTERRUPT_STATS_PROVIDER::print_info()
  hw/intc: Introduce x-query-interrupt-controllers QMP command
  memory: Constify IOMMUTLBEvent in memory_region_notify_iommu_one()
  memory: Constify IOMMUTLBEvent in memory_region_notify_iommu()
  hw/i386/iommu: Constify IOMMUTLBEvent in vtd_page_walk_hook prototype
  hw/usb: Remove unused 'host.h' header
  hw/s390x: Introduce s390_skeys_get|set() helpers
  target/s390x: Use s390_skeys_get|set() helper

 MAINTAINERS                           |   8 +-
 docs/about/deprecated.rst             |   4 +-
 docs/about/removed-features.rst       |   2 +-
 qapi/machine.json                     |  17 ++
 hw/mips/loongson3_bootp.h             |   3 +
 hw/usb/hcd-xhci.h                     |   4 +-
 hw/usb/host.h                         |  44 ----
 include/exec/memory.h                 |   4 +-
 include/hw/core/tcg-cpu-ops.h         |   9 +-
 include/hw/firmware/smbios.h          |   3 +-
 include/hw/i386/pc.h                  |  22 --
 include/hw/intc/intc.h                |   2 +-
 include/hw/intc/loongson_ipi.h        |   2 +
 include/hw/mem/memory-device.h        |   2 +-
 include/hw/mem/pc-dimm.h              |   3 +-
 include/hw/pci-host/pnv_phb3.h        |   2 +-
 include/hw/pci-host/pnv_phb4.h        |   2 +-
 include/hw/ppc/pnv_chip.h             |   4 +-
 include/hw/ppc/pnv_psi.h              |   2 +-
 include/hw/ppc/pnv_xive.h             |   4 +-
 include/hw/ppc/spapr_irq.h            |   4 +-
 include/hw/ppc/xics.h                 |   4 +-
 include/hw/ppc/xive.h                 |   4 +-
 include/hw/ppc/xive2_regs.h           |   8 +-
 include/hw/ppc/xive_regs.h            |   8 +-
 include/hw/s390x/storage-keys.h       |  10 +
 include/ui/surface.h                  |   6 +-
 target/arm/internals.h                |   3 +
 target/i386/cpu.h                     |   3 -
 target/i386/kvm/kvm-cpu.h             |  41 ---
 target/riscv/internals.h              |   3 +
 accel/tcg/cpu-exec.c                  |  12 +-
 hw/acpi/ich9.c                        |  46 +---
 hw/arm/virt.c                         |   5 +-
 hw/audio/virtio-snd.c                 |   2 +-
 hw/core/machine-qmp-cmds.c            |  29 +++
 hw/display/qxl-render.c               |   2 +-
 hw/display/vga.c                      |  25 +-
 hw/display/xenfb.c                    |   5 +-
 hw/i386/acpi-build.c                  |  96 +------
 hw/i386/fw_cfg.c                      |   3 +-
 hw/i386/intel_iommu.c                 |   8 +-
 hw/i386/pc.c                          | 107 ++------
 hw/i386/pc_piix.c                     | 171 +++----------
 hw/intc/goldfish_pic.c                |   8 +-
 hw/intc/i8259_common.c                |  14 +-
 hw/intc/ioapic_common.c               |  57 ++---
 hw/intc/loongarch_ipi.c               | 347 --------------------------
 hw/intc/loongson_ipi.c                | 125 +++++-----
 hw/intc/m68k_irqc.c                   |   5 +-
 hw/intc/pnv_xive.c                    |  38 +--
 hw/intc/pnv_xive2.c                   |  48 ++--
 hw/intc/slavio_intctl.c               |  11 +-
 hw/intc/spapr_xive.c                  |  41 ++-
 hw/intc/xics.c                        |  25 +-
 hw/intc/xics_spapr.c                  |   7 +-
 hw/intc/xive.c                        | 108 ++++----
 hw/intc/xive2.c                       |  87 ++++---
 hw/loongarch/virt.c                   |   4 +-
 hw/mem/memory-device.c                |  12 +-
 hw/mem/pc-dimm.c                      |   6 +-
 hw/mips/loongson3_bootp.c             |   2 -
 hw/mips/loongson3_virt.c              |  39 ++-
 hw/pci-host/pnv_phb3_msi.c            |  21 +-
 hw/pci-host/pnv_phb4.c                |  17 +-
 hw/ppc/pnv.c                          |  96 ++++---
 hw/ppc/pnv_psi.c                      |   9 +-
 hw/ppc/spapr.c                        |  13 +-
 hw/ppc/spapr_irq.c                    |   4 +-
 hw/riscv/virt.c                       |   2 +-
 hw/s390x/s390-skeys.c                 |  27 ++
 hw/smbios/smbios.c                    |  13 +-
 hw/usb/dev-mtp.c                      |   2 +-
 hw/usb/hcd-xhci-nec.c                 |   4 -
 hw/usb/hcd-xhci-pci.c                 |   4 +-
 hw/usb/hcd-xhci.c                     |  42 +---
 hw/virtio/virtio-md-pci.c             |   2 +-
 monitor/hmp-cmds.c                    |  27 --
 system/memory.c                       |   6 +-
 target/alpha/cpu.c                    |   1 +
 target/arm/cpu.c                      |   2 +-
 target/arm/tcg/cpu-v7m.c              |   1 +
 target/avr/cpu.c                      |   1 +
 target/cris/cpu.c                     |   2 +
 target/hppa/cpu.c                     |   1 +
 target/i386/cpu.c                     |   2 -
 target/i386/kvm/kvm-cpu.c             |   3 +-
 target/i386/kvm/kvm.c                 |   7 +-
 target/loongarch/cpu.c                |   1 +
 target/m68k/cpu.c                     |   1 +
 target/microblaze/cpu.c               |   1 +
 target/mips/cpu.c                     |   1 +
 target/openrisc/cpu.c                 |   1 +
 target/ppc/cpu_init.c                 |   2 +
 target/riscv/cpu.c                    |   2 +-
 target/riscv/tcg/tcg-cpu.c            |   2 +
 target/rx/cpu.c                       |   1 +
 target/s390x/cpu.c                    |   1 +
 target/s390x/mmu_helper.c             |  11 +-
 target/s390x/tcg/mem_helper.c         |  16 +-
 target/sh4/cpu.c                      |   1 +
 target/sparc/cpu.c                    |   1 +
 target/xtensa/cpu.c                   |   1 +
 ui/console.c                          |   3 +-
 ui/sdl2-2d.c                          |   2 +-
 ui/sdl2-gl.c                          |   2 +-
 util/readline.c                       |  35 ++-
 hmp-commands-info.hx                  |   2 +-
 hw/mips/Kconfig                       |   1 +
 hw/s390x/trace-events                 |   4 +
 target/s390x/trace-events             |   4 -
 tests/avocado/mem-addr-space-check.py |   9 +-
 ui/cocoa.m                            |  62 +++--
 113 files changed, 782 insertions(+), 1426 deletions(-)
 delete mode 100644 hw/usb/host.h
 delete mode 100644 target/i386/kvm/kvm-cpu.h
 delete mode 100644 hw/intc/loongarch_ipi.c

Comments

Richard Henderson June 18, 2024, 8:06 p.m. UTC | #1
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~
Philippe Mathieu-Daudé June 18, 2024, 8:15 p.m. UTC | #2
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.
Richard Henderson June 18, 2024, 8:32 p.m. UTC | #3
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~
Philippe Mathieu-Daudé June 19, 2024, 10:44 a.m. UTC | #4
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.
Peter Maydell June 19, 2024, 1:27 p.m. UTC | #5
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
Peter Maydell July 4, 2024, 3:54 p.m. UTC | #6
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