mbox series

[v2,0/4] hw/arm/stellaris: QOM/QDev cleanups

Message ID 20240213155214.13619-1-philmd@linaro.org
Headers show
Series hw/arm/stellaris: QOM/QDev cleanups | expand

Message

Philippe Mathieu-Daudé Feb. 13, 2024, 3:52 p.m. UTC
Since v1:
- Rebased
- Split I2C reset as enter/hold/exit (Peter)
- Added R-b tags

Gustavo wants to access the QOM path of an input IRQ line
from the NVIC, but since the device is orphan he ends up
with this nasty path [*]:

  -device ivshmem-flat,chardev=ivshmem_flat,x-irq-qompath='/machine/unattached/device[1]/nvic/unnamed-gpio-in[0]',x-bus-qompath='/sysbus'

Add the missing parent so the tree is now:

(qemu) info qom-tree
/machine (lm3s6965evb-machine)
  /gamepad (stellaris-gamepad)
  /oled (ssd0323)
  /peripheral (container)
  /peripheral-anon (container)
  /soc (container)
    /v7m (armv7m)
      /cpu (cortex-m3-arm-cpu)
        /unnamed-gpio-in[0] (irq)
        /unnamed-gpio-in[1] (irq)
        /unnamed-gpio-in[2] (irq)
        /unnamed-gpio-in[3] (irq)
      /cpuclk (clock)
      /nvic (armv7m_nvic)
        /NMI[0] (irq)
        /nvic_sysregs[0] (memory-region)
        /systick-trigger[0] (irq)
        /systick-trigger[1] (irq)
        /unnamed-gpio-in[0] (irq)
        ...

[*] https://lore.kernel.org/qemu-devel/20231127052024.435743-1-gustavo.romero@linaro.org/

Philippe Mathieu-Daudé (4):
  hw/arm/stellaris: Convert ADC controller to Resettable interface
  hw/arm/stellaris: Convert I2C controller to Resettable interface
  hw/arm/stellaris: Add missing QOM 'machine' parent
  hw/arm/stellaris: Add missing QOM 'SoC' parent

 hw/arm/stellaris.c | 47 +++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 40 insertions(+), 7 deletions(-)

Comments

Peter Maydell Feb. 15, 2024, 1:50 p.m. UTC | #1
On Tue, 13 Feb 2024 at 15:52, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Since v1:
> - Rebased
> - Split I2C reset as enter/hold/exit (Peter)
> - Added R-b tags
>
> Gustavo wants to access the QOM path of an input IRQ line
> from the NVIC, but since the device is orphan he ends up
> with this nasty path [*]:
>
>   -device ivshmem-flat,chardev=ivshmem_flat,x-irq-qompath='/machine/unattached/device[1]/nvic/unnamed-gpio-in[0]',x-bus-qompath='/sysbus'
>
> Add the missing parent so the tree is now:
>
> (qemu) info qom-tree
> /machine (lm3s6965evb-machine)
>   /gamepad (stellaris-gamepad)
>   /oled (ssd0323)
>   /peripheral (container)
>   /peripheral-anon (container)
>   /soc (container)
>     /v7m (armv7m)
>       /cpu (cortex-m3-arm-cpu)
>         /unnamed-gpio-in[0] (irq)
>         /unnamed-gpio-in[1] (irq)
>         /unnamed-gpio-in[2] (irq)
>         /unnamed-gpio-in[3] (irq)
>       /cpuclk (clock)
>       /nvic (armv7m_nvic)
>         /NMI[0] (irq)
>         /nvic_sysregs[0] (memory-region)
>         /systick-trigger[0] (irq)
>         /systick-trigger[1] (irq)
>         /unnamed-gpio-in[0] (irq)
>         ...
>
> [*] https://lore.kernel.org/qemu-devel/20231127052024.435743-1-gustavo.romero@linaro.org/
>
> Philippe Mathieu-Daudé (4):
>   hw/arm/stellaris: Convert ADC controller to Resettable interface
>   hw/arm/stellaris: Convert I2C controller to Resettable interface
>   hw/arm/stellaris: Add missing QOM 'machine' parent
>   hw/arm/stellaris: Add missing QOM 'SoC' parent



Applied to target-arm.next, thanks.

-- PMM