mbox series

[v3,0/7] hw/ppc: SysBus simplifications

Message ID 20231019131647.19690-1-philmd@linaro.org
Headers show
Series hw/ppc: SysBus simplifications | expand

Message

Philippe Mathieu-Daudé Oct. 19, 2023, 1:16 p.m. UTC
Hi,

There is no point in exposing an internal MMIO region via
SysBus and directly mapping it in the very same device.

This series replaces a sequence of:
- sysbus_init_mmio()
- sysbus_mmio_map()
by a single call to memory_region_add_subregion().

Since v2:
- Mention coccinelle script in patch descriptions

Since v1:
- New "Realize SPAPR_VIO_BRIDGE device before accessing it" patch
- Added R-b tags

Philippe Mathieu-Daudé (7):
  hw/ppc/spapr_vio: Realize SPAPR_VIO_BRIDGE device before accessing it
  hw/ppc/pnv_xscom: Rename pnv_xscom_realize(Error **) ->
    pnv_xscom_init()
  hw/ppc/pnv_xscom: Move sysbus_mmio_map() call within pnv_xscom_init()
  hw/ppc/pnv_xscom: Do not use SysBus API to map local MMIO region
  hw/ppc/pnv: Do not use SysBus API to map local MMIO region
  hw/intc/spapr_xive: Move sysbus_init_mmio() calls around
  hw/intc/spapr_xive: Do not use SysBus API to map local MMIO region

 include/hw/ppc/pnv_xscom.h |  2 +-
 hw/intc/spapr_xive.c       | 12 ++++++------
 hw/ppc/pnv.c               | 26 +++++---------------------
 hw/ppc/pnv_xscom.c         |  5 ++---
 hw/ppc/spapr_vio.c         |  3 ++-
 5 files changed, 16 insertions(+), 32 deletions(-)

Comments

Cédric Le Goater Oct. 19, 2023, 3:41 p.m. UTC | #1
On 10/19/23 15:16, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> There is no point in exposing an internal MMIO region via
> SysBus and directly mapping it in the very same device.
> 
> This series replaces a sequence of:
> - sysbus_init_mmio()
> - sysbus_mmio_map()
> by a single call to memory_region_add_subregion().

Nice cleanup !

Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.


> Since v2:
> - Mention coccinelle script in patch descriptions
> 
> Since v1:
> - New "Realize SPAPR_VIO_BRIDGE device before accessing it" patch
> - Added R-b tags
> 
> Philippe Mathieu-Daudé (7):
>    hw/ppc/spapr_vio: Realize SPAPR_VIO_BRIDGE device before accessing it
>    hw/ppc/pnv_xscom: Rename pnv_xscom_realize(Error **) ->
>      pnv_xscom_init()
>    hw/ppc/pnv_xscom: Move sysbus_mmio_map() call within pnv_xscom_init()
>    hw/ppc/pnv_xscom: Do not use SysBus API to map local MMIO region
>    hw/ppc/pnv: Do not use SysBus API to map local MMIO region
>    hw/intc/spapr_xive: Move sysbus_init_mmio() calls around
>    hw/intc/spapr_xive: Do not use SysBus API to map local MMIO region
> 
>   include/hw/ppc/pnv_xscom.h |  2 +-
>   hw/intc/spapr_xive.c       | 12 ++++++------
>   hw/ppc/pnv.c               | 26 +++++---------------------
>   hw/ppc/pnv_xscom.c         |  5 ++---
>   hw/ppc/spapr_vio.c         |  3 ++-
>   5 files changed, 16 insertions(+), 32 deletions(-)
>
Philippe Mathieu-Daudé Oct. 19, 2023, 9:38 p.m. UTC | #2
On 19/10/23 15:16, Philippe Mathieu-Daudé wrote:

> Philippe Mathieu-Daudé (7):
>    hw/ppc/spapr_vio: Realize SPAPR_VIO_BRIDGE device before accessing it
>    hw/ppc/pnv_xscom: Rename pnv_xscom_realize(Error **) ->
>      pnv_xscom_init()
>    hw/ppc/pnv_xscom: Move sysbus_mmio_map() call within pnv_xscom_init()
>    hw/ppc/pnv_xscom: Do not use SysBus API to map local MMIO region
>    hw/ppc/pnv: Do not use SysBus API to map local MMIO region
>    hw/intc/spapr_xive: Move sysbus_init_mmio() calls around
>    hw/intc/spapr_xive: Do not use SysBus API to map local MMIO region

Series queued to hw-misc.