All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Stabellini <sstabellini@kernel.org>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>,
	xen-devel@lists.xenproject.org,  alex.bennee@linaro.org,
	masami.hiramatsu@linaro.org, ehem+xen@m5p.com,
	 bertrand.marquis@arm.com, andre.przywara@arm.com,
	Rahul.Singh@arm.com,  Julien Grall <julien.grall@arm.com>,
	 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	 Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH v2 6/7] xen/arm: gic-v2: acpi: Use the correct length for the GICC structure
Date: Fri, 23 Oct 2020 17:45:46 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.21.2010231735000.12247@sstabellini-ThinkPad-T480s> (raw)
In-Reply-To: <alpine.DEB.2.21.2010231731010.12247@sstabellini-ThinkPad-T480s>

On Fri, 23 Oct 2020, Stefano Stabellini wrote:
> On Fri, 23 Oct 2020, Julien Grall wrote:
> > From: Julien Grall <julien.grall@arm.com>
> > 
> > The length of the GICC structure in the MADT ACPI table differs between
> > version 5.1 and 6.0, although there are no other relevant differences.
> > 
> > Use the BAD_MADT_GICC_ENTRY macro, which was specifically designed to
> > overcome this issue.
> > 
> > Signed-off-by: Julien Grall <julien.grall@arm.com>
> > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Actually it looks we need to do substitutions in a couple of other places:

- xen/arch/arm/gic-v3.c:gicv3_make_hwdom_madt
- xen/arch/arm/gic-v3.c:gic_acpi_get_madt_cpu_num
- xen/arch/arm/gic.c:gic_get_hwdom_madt_size





> >     Changes in v2:
> >         - Patch added
> > ---
> >  xen/arch/arm/acpi/boot.c | 2 +-
> >  xen/arch/arm/gic-v2.c    | 5 +++--
> >  xen/arch/arm/gic-v3.c    | 2 +-
> >  3 files changed, 5 insertions(+), 4 deletions(-)
> > 
> > diff --git a/xen/arch/arm/acpi/boot.c b/xen/arch/arm/acpi/boot.c
> > index 30e4bd1bc5a7..55c3e5cbc834 100644
> > --- a/xen/arch/arm/acpi/boot.c
> > +++ b/xen/arch/arm/acpi/boot.c
> > @@ -131,7 +131,7 @@ acpi_parse_gic_cpu_interface(struct acpi_subtable_header *header,
> >      struct acpi_madt_generic_interrupt *processor =
> >                 container_of(header, struct acpi_madt_generic_interrupt, header);
> >  
> > -    if ( BAD_MADT_ENTRY(processor, end) )
> > +    if ( BAD_MADT_GICC_ENTRY(processor, end) )
> >          return -EINVAL;
> >  
> >      acpi_table_print_madt_entry(header);
> > diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
> > index 0f747538dbcd..0e5f23201974 100644
> > --- a/xen/arch/arm/gic-v2.c
> > +++ b/xen/arch/arm/gic-v2.c
> > @@ -1136,7 +1136,8 @@ static int gicv2_make_hwdom_madt(const struct domain *d, u32 offset)
> >  
> >      host_gicc = container_of(header, struct acpi_madt_generic_interrupt,
> >                               header);
> > -    size = sizeof(struct acpi_madt_generic_interrupt);
> > +
> > +    size = ACPI_MADT_GICC_LENGTH;
> >      /* Add Generic Interrupt */
> >      for ( i = 0; i < d->max_vcpus; i++ )
> >      {
> > @@ -1165,7 +1166,7 @@ gic_acpi_parse_madt_cpu(struct acpi_subtable_header *header,
> >      struct acpi_madt_generic_interrupt *processor =
> >                 container_of(header, struct acpi_madt_generic_interrupt, header);
> >  
> > -    if ( BAD_MADT_ENTRY(processor, end) )
> > +    if ( BAD_MADT_GICC_ENTRY(processor, end) )
> >          return -EINVAL;
> >  
> >      /* Read from APIC table and fill up the GIC variables */
> > diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
> > index 0f6cbf6224e9..ce202402c0ed 100644
> > --- a/xen/arch/arm/gic-v3.c
> > +++ b/xen/arch/arm/gic-v3.c
> > @@ -1558,7 +1558,7 @@ gic_acpi_parse_madt_cpu(struct acpi_subtable_header *header,
> >      struct acpi_madt_generic_interrupt *processor =
> >                 container_of(header, struct acpi_madt_generic_interrupt, header);
> >  
> > -    if ( BAD_MADT_ENTRY(processor, end) )
> > +    if ( BAD_MADT_GICC_ENTRY(processor, end) )
> >          return -EINVAL;
> >  
> >      /* Read from APIC table and fill up the GIC variables */
> > -- 
> > 2.17.1
> > 
> 


  reply	other threads:[~2020-10-24  0:46 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-23 15:41 [PATCH v2 0/7] xen/arm: Unbreak ACPI Julien Grall
2020-10-23 15:41 ` [PATCH v2 1/7] xen/acpi: Rework acpi_os_map_memory() and acpi_os_unmap_memory() Julien Grall
2020-10-23 15:47   ` Jan Beulich
2020-10-24  0:06   ` Stefano Stabellini
2020-11-20 16:03   ` Jan Beulich
2020-11-20 17:44     ` Julien Grall
2020-11-23  8:31       ` Jan Beulich
2020-10-23 15:41 ` [PATCH v2 2/7] xen/arm: acpi: The fixmap area should always be cleared during failure/unmap Julien Grall
2020-10-24  0:16   ` Stefano Stabellini
2020-10-30 18:21     ` Julien Grall
2020-10-30 18:28       ` Stefano Stabellini
2020-10-30 18:29         ` Julien Grall
2020-10-30 18:34           ` Stefano Stabellini
2020-10-23 15:41 ` [PATCH v2 3/7] xen/arm: Check if the platform is not using ACPI before initializing Dom0less Julien Grall
2020-10-23 15:41 ` [PATCH v2 4/7] xen/arm: Introduce fw_unreserved_regions() and use it Julien Grall
2020-10-24  0:17   ` Stefano Stabellini
2020-10-23 15:41 ` [PATCH v2 5/7] xen/arm: acpi: add BAD_MADT_GICC_ENTRY() macro Julien Grall
2020-10-24  0:32   ` Stefano Stabellini
2020-10-30 18:46     ` Julien Grall
2020-10-23 15:41 ` [PATCH v2 6/7] xen/arm: gic-v2: acpi: Use the correct length for the GICC structure Julien Grall
2020-10-24  0:32   ` Stefano Stabellini
2020-10-24  0:45     ` Stefano Stabellini [this message]
2020-10-30 19:13       ` Julien Grall
2020-10-23 15:41 ` [PATCH v2 7/7] xen/arm: acpi: Allow Xen to boot with ACPI 5.1 Julien Grall
2020-10-24  0:33   ` Stefano Stabellini
2020-10-23 21:24 ` [PATCH v2 0/7] xen/arm: Unbreak ACPI Elliott Mitchell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.21.2010231735000.12247@sstabellini-ThinkPad-T480s \
    --to=sstabellini@kernel.org \
    --cc=Rahul.Singh@arm.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=alex.bennee@linaro.org \
    --cc=andre.przywara@arm.com \
    --cc=bertrand.marquis@arm.com \
    --cc=ehem+xen@m5p.com \
    --cc=jgrall@amazon.com \
    --cc=julien.grall@arm.com \
    --cc=julien@xen.org \
    --cc=masami.hiramatsu@linaro.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.