public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH edk2-platforms 1/1] Silicon/Qemu: don't advertise GICC legacy mmio interface in SbsaQamu MADT
@ 2021-10-08 10:34 Leif Lindholm
  2021-10-08 14:18 ` Ard Biesheuvel
  0 siblings, 1 reply; 3+ messages in thread
From: Leif Lindholm @ 2021-10-08 10:34 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Graeme Gregory, Radoslaw Biernacki

The MADT GICC structure contains the field PhysicalBaseAddress, which
is needed for a GICv1/v2 implementation, or to indicate legacy
compatibility in modern GICs.

Linux commit 9739f6ef053f1, included in v5.12, adds a warning message
when this field is populated but invalid:
  [Firmware Bug]: CPU interface incapable of MMIO access

As it happens, we currently initialize this to PcdGicDistributorBase
instead of PcdGicInterruptInterfaceBase, and as a result we now trigger
this warning.

Since this is an SBSA reference implementation, and legacy GIC support
has never worked for this port, set the field to 0.

Signed-off-by: Leif Lindholm <leif@nuviainc.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Graeme Gregory <graeme@nuviainc.com>
Cc: Radoslaw Biernacki <rad@semihalf.com>
---
 Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
index b8901030ecd0..dbc5e9475358 100644
--- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
+++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
@@ -71,7 +71,7 @@ AddMadtTable (
     0,                                     /* Mpidr */
     EFI_ACPI_6_0_GIC_ENABLED,              /* Flags */
     SBSAQEMU_MADT_GIC_PMU_IRQ,             /* PMU Irq */
-    FixedPcdGet32 (PcdGicDistributorBase), /* PhysicalBaseAddress */
+    0,                                     /* PhysicalBaseAddress */
     SBSAQEMU_MADT_GIC_VBASE,               /* GicVBase */
     SBSAQEMU_MADT_GIC_HBASE,               /* GicHBase */
     25,                                    /* GsivId */
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH edk2-platforms 1/1] Silicon/Qemu: don't advertise GICC legacy mmio interface in SbsaQamu MADT
  2021-10-08 10:34 [PATCH edk2-platforms 1/1] Silicon/Qemu: don't advertise GICC legacy mmio interface in SbsaQamu MADT Leif Lindholm
@ 2021-10-08 14:18 ` Ard Biesheuvel
  2021-10-12 10:17   ` Leif Lindholm
  0 siblings, 1 reply; 3+ messages in thread
From: Ard Biesheuvel @ 2021-10-08 14:18 UTC (permalink / raw)
  To: Leif Lindholm
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Graeme Gregory,
	Radoslaw Biernacki

On Fri, 8 Oct 2021 at 12:34, Leif Lindholm <leif@nuviainc.com> wrote:
>
> The MADT GICC structure contains the field PhysicalBaseAddress, which
> is needed for a GICv1/v2 implementation, or to indicate legacy
> compatibility in modern GICs.
>
> Linux commit 9739f6ef053f1, included in v5.12, adds a warning message
> when this field is populated but invalid:
>   [Firmware Bug]: CPU interface incapable of MMIO access
>
> As it happens, we currently initialize this to PcdGicDistributorBase
> instead of PcdGicInterruptInterfaceBase, and as a result we now trigger
> this warning.
>
> Since this is an SBSA reference implementation, and legacy GIC support
> has never worked for this port, set the field to 0.
>
> Signed-off-by: Leif Lindholm <leif@nuviainc.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Graeme Gregory <graeme@nuviainc.com>
> Cc: Radoslaw Biernacki <rad@semihalf.com>

Acked-by: Ard Biesheuvel <ardb@kernel.org>

> ---
>  Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> index b8901030ecd0..dbc5e9475358 100644
> --- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> +++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> @@ -71,7 +71,7 @@ AddMadtTable (
>      0,                                     /* Mpidr */
>      EFI_ACPI_6_0_GIC_ENABLED,              /* Flags */
>      SBSAQEMU_MADT_GIC_PMU_IRQ,             /* PMU Irq */
> -    FixedPcdGet32 (PcdGicDistributorBase), /* PhysicalBaseAddress */
> +    0,                                     /* PhysicalBaseAddress */
>      SBSAQEMU_MADT_GIC_VBASE,               /* GicVBase */
>      SBSAQEMU_MADT_GIC_HBASE,               /* GicHBase */
>      25,                                    /* GsivId */
> --
> 2.30.2
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH edk2-platforms 1/1] Silicon/Qemu: don't advertise GICC legacy mmio interface in SbsaQamu MADT
  2021-10-08 14:18 ` Ard Biesheuvel
@ 2021-10-12 10:17   ` Leif Lindholm
  0 siblings, 0 replies; 3+ messages in thread
From: Leif Lindholm @ 2021-10-12 10:17 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: edk2-devel-groups-io, Ard Biesheuvel, Graeme Gregory,
	Radoslaw Biernacki

On Fri, Oct 08, 2021 at 16:18:44 +0200, Ard Biesheuvel wrote:
> On Fri, 8 Oct 2021 at 12:34, Leif Lindholm <leif@nuviainc.com> wrote:
> >
> > The MADT GICC structure contains the field PhysicalBaseAddress, which
> > is needed for a GICv1/v2 implementation, or to indicate legacy
> > compatibility in modern GICs.
> >
> > Linux commit 9739f6ef053f1, included in v5.12, adds a warning message
> > when this field is populated but invalid:
> >   [Firmware Bug]: CPU interface incapable of MMIO access
> >
> > As it happens, we currently initialize this to PcdGicDistributorBase
> > instead of PcdGicInterruptInterfaceBase, and as a result we now trigger
> > this warning.
> >
> > Since this is an SBSA reference implementation, and legacy GIC support
> > has never worked for this port, set the field to 0.
> >
> > Signed-off-by: Leif Lindholm <leif@nuviainc.com>
> > Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> > Cc: Graeme Gregory <graeme@nuviainc.com>
> > Cc: Radoslaw Biernacki <rad@semihalf.com>
> 
> Acked-by: Ard Biesheuvel <ardb@kernel.org>

Thanks - pushed as 69035742d336.

/
    Leif

> > ---
> >  Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> > index b8901030ecd0..dbc5e9475358 100644
> > --- a/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> > +++ b/Silicon/Qemu/SbsaQemu/Drivers/SbsaQemuAcpiDxe/SbsaQemuAcpiDxe.c
> > @@ -71,7 +71,7 @@ AddMadtTable (
> >      0,                                     /* Mpidr */
> >      EFI_ACPI_6_0_GIC_ENABLED,              /* Flags */
> >      SBSAQEMU_MADT_GIC_PMU_IRQ,             /* PMU Irq */
> > -    FixedPcdGet32 (PcdGicDistributorBase), /* PhysicalBaseAddress */
> > +    0,                                     /* PhysicalBaseAddress */
> >      SBSAQEMU_MADT_GIC_VBASE,               /* GicVBase */
> >      SBSAQEMU_MADT_GIC_HBASE,               /* GicHBase */
> >      25,                                    /* GsivId */
> > --
> > 2.30.2
> >

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-10-12 10:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-08 10:34 [PATCH edk2-platforms 1/1] Silicon/Qemu: don't advertise GICC legacy mmio interface in SbsaQamu MADT Leif Lindholm
2021-10-08 14:18 ` Ard Biesheuvel
2021-10-12 10:17   ` Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox