qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 8/8] hw/ppc: Remove unused ppcuic_init()


From: Edgar E. Iglesias
Subject: Re: [PATCH 8/8] hw/ppc: Remove unused ppcuic_init()
Date: Sun, 13 Dec 2020 15:35:12 +0100

On Sat, Dec 12, 2020 at 12:15:37AM +0000, Peter Maydell wrote:
> Now we've converted all the callsites to directly create the QOM UIC
> device themselves, the ppcuic_init() function is unused and can be
> removed. The enum defining PPCUIC symbolic constants can be moved
> to the ppc-uic.h header where it more naturally belongs.

Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>


> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  include/hw/intc/ppc-uic.h |  7 +++++++
>  include/hw/ppc/ppc4xx.h   |  9 ---------
>  hw/ppc/ppc4xx_devs.c      | 38 --------------------------------------
>  3 files changed, 7 insertions(+), 47 deletions(-)
> 
> diff --git a/include/hw/intc/ppc-uic.h b/include/hw/intc/ppc-uic.h
> index e614e2ffd80..22dd5e5ac2c 100644
> --- a/include/hw/intc/ppc-uic.h
> +++ b/include/hw/intc/ppc-uic.h
> @@ -47,6 +47,13 @@ OBJECT_DECLARE_SIMPLE_TYPE(PPCUIC, PPC_UIC)
>  
>  #define UIC_MAX_IRQ 32
>  
> +/* Symbolic constants for the sysbus IRQ outputs */
> +enum {
> +    PPCUIC_OUTPUT_INT = 0,
> +    PPCUIC_OUTPUT_CINT = 1,
> +    PPCUIC_OUTPUT_NB,
> +};
> +
>  struct PPCUIC {
>      /*< private >*/
>      SysBusDevice parent_obj;
> diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h
> index cc19c8da5be..980f964b5a9 100644
> --- a/include/hw/ppc/ppc4xx.h
> +++ b/include/hw/ppc/ppc4xx.h
> @@ -33,15 +33,6 @@ PowerPCCPU *ppc4xx_init(const char *cpu_model,
>                          clk_setup_t *cpu_clk, clk_setup_t *tb_clk,
>                          uint32_t sysclk);
>  
> -/* PowerPC 4xx universal interrupt controller */
> -enum {
> -    PPCUIC_OUTPUT_INT = 0,
> -    PPCUIC_OUTPUT_CINT = 1,
> -    PPCUIC_OUTPUT_NB,
> -};
> -qemu_irq *ppcuic_init (CPUPPCState *env, qemu_irq *irqs,
> -                       uint32_t dcr_base, int has_ssr, int has_vr);
> -
>  void ppc4xx_sdram_banks(MemoryRegion *ram, int nr_banks,
>                          MemoryRegion ram_memories[],
>                          hwaddr ram_bases[], hwaddr ram_sizes[],
> diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c
> index ffe4cf43e88..fe9d4f7155e 100644
> --- a/hw/ppc/ppc4xx_devs.c
> +++ b/hw/ppc/ppc4xx_devs.c
> @@ -77,44 +77,6 @@ PowerPCCPU *ppc4xx_init(const char *cpu_type,
>      return cpu;
>  }
>  
> -/*****************************************************************************/
> -/* "Universal" Interrupt controller */
> -
> -qemu_irq *ppcuic_init (CPUPPCState *env, qemu_irq *irqs,
> -                       uint32_t dcr_base, int has_ssr, int has_vr)
> -{
> -    DeviceState *uicdev = qdev_new(TYPE_PPC_UIC);
> -    SysBusDevice *uicsbd = SYS_BUS_DEVICE(uicdev);
> -    qemu_irq *uic_irqs;
> -    int i;
> -
> -    qdev_prop_set_uint32(uicdev, "dcr-base", dcr_base);
> -    qdev_prop_set_bit(uicdev, "use-vectors", has_vr);
> -    object_property_set_link(OBJECT(uicdev), "cpu", OBJECT(env_cpu(env)),
> -                             &error_fatal);
> -    sysbus_realize_and_unref(uicsbd, &error_fatal);
> -
> -    sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT, irqs[PPCUIC_OUTPUT_INT]);
> -    sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT, irqs[PPCUIC_OUTPUT_CINT]);
> -
> -    /*
> -     * Return an allocated array of the UIC's input IRQ lines.
> -     * This is an ugly temporary API to retain compatibility with
> -     * the ppcuic_init() interface from the pre-QOM-conversion UIC.
> -     * None of the callers free this array, so it is leaked -- but
> -     * so was the array allocated by qemu_allocate_irqs() in the
> -     * old code.
> -     *
> -     * The callers should just instantiate the UIC and wire it up
> -     * themselves rather than passing qemu_irq* in and out of this function.
> -     */
> -    uic_irqs = g_new0(qemu_irq, UIC_MAX_IRQ);
> -    for (i = 0; i < UIC_MAX_IRQ; i++) {
> -        uic_irqs[i] = qdev_get_gpio_in(uicdev, i);
> -    }
> -    return uic_irqs;
> -}
> -
>  
> /*****************************************************************************/
>  /* SDRAM controller */
>  typedef struct ppc4xx_sdram_t ppc4xx_sdram_t;
> -- 
> 2.20.1
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]