[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 3/4] hw/intc/exynos4210: replace 'qemu_split_irq' in combi
From: |
Peter Maydell |
Subject: |
Re: [PATCH v4 3/4] hw/intc/exynos4210: replace 'qemu_split_irq' in combiner and gic |
Date: |
Thu, 24 Mar 2022 18:56:24 +0000 |
On Thu, 24 Mar 2022 at 17:18, Zongyuan Li <zongyuan.li@smartx.com> wrote:
>
> Signed-off-by: Zongyuan Li <zongyuan.li@smartx.com>
> ---
> hw/arm/exynos4210.c | 26 ++++++++++++
> hw/intc/exynos4210_combiner.c | 79 +++++++++++++++++++++++++++--------
> hw/intc/exynos4210_gic.c | 36 ++++++++++++----
> include/hw/arm/exynos4210.h | 11 ++---
> include/hw/core/split-irq.h | 5 +--
> 5 files changed, 124 insertions(+), 33 deletions(-)
>
> diff --git a/hw/arm/exynos4210.c b/hw/arm/exynos4210.c
> index 0299e81f85..10826706b2 100644
> --- a/hw/arm/exynos4210.c
> +++ b/hw/arm/exynos4210.c
> @@ -288,6 +288,7 @@ static void exynos4210_realize(DeviceState *socdev, Error
> **errp)
> for (n = 0; n < EXYNOS4210_MAX_INT_COMBINER_OUT_IRQ; n++) {
> sysbus_connect_irq(busdev, n, s->irqs.int_gic_irq[n]);
> }
> + // SplitIRQ for internal irq realized here
> exynos4210_combiner_get_gpioin(&s->irqs, dev, 0);
> sysbus_mmio_map(busdev, 0, EXYNOS4210_INT_COMBINER_BASE_ADDR);
>
> @@ -299,6 +300,7 @@ static void exynos4210_realize(DeviceState *socdev, Error
> **errp)
> for (n = 0; n < EXYNOS4210_MAX_INT_COMBINER_OUT_IRQ; n++) {
> sysbus_connect_irq(busdev, n, s->irqs.ext_gic_irq[n]);
> }
> + // SplitIRQ for external irq realized here
> exynos4210_combiner_get_gpioin(&s->irqs, dev, 1);
> sysbus_mmio_map(busdev, 0, EXYNOS4210_EXT_COMBINER_BASE_ADDR);
This all looks very odd. I'll have a closer look at it later.
> diff --git a/include/hw/core/split-irq.h b/include/hw/core/split-irq.h
> index ff8852f407..eb485dd7a6 100644
> --- a/include/hw/core/split-irq.h
> +++ b/include/hw/core/split-irq.h
> @@ -42,9 +42,6 @@
>
> #define MAX_SPLIT_LINES 16
>
> -
> -OBJECT_DECLARE_SIMPLE_TYPE(SplitIRQ, SPLIT_IRQ)
> -
> struct SplitIRQ {
> DeviceState parent_obj;
>
> @@ -52,4 +49,6 @@ struct SplitIRQ {
> uint16_t num_lines;
> };
>
> +OBJECT_DECLARE_SIMPLE_TYPE(SplitIRQ, SPLIT_IRQ)
> +
What's this change for ?
thanks
-- PMM