From: Sudeep Holla <sudeep.holla@kernel.org>
To: Marc Zyngier <maz@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
"Sudeep Holla" <sudeep.holla@kernel.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Hanjun Guo" <guohanjun@huawei.com>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Will Deacon" <will@kernel.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Mark Rutland" <mark.rutland@arm.com>,
"Daniel Lezcano" <daniel.lezcano@kernel.org>,
"Thomas Gleixner" <tglx@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Chen-Yu Tsai" <wens@kernel.org>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Samuel Holland" <samuel@sholland.org>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Kevin Hilman" <khilman@baylibre.com>,
"Jerome Brunet" <jbrunet@baylibre.com>,
"Martin Blumenstingl" <martin.blumenstingl@googlemail.com>,
"Ge Gordon" <gordon.ge@bst.ai>,
"BST Linux Kernel Upstream Group" <bst-upstream@bstai.top>,
"Jesper Nilsson" <jesper.nilsson@axis.com>,
"Lars Persson" <lars.persson@axis.com>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Ivaylo Ivanov" <ivo.ivanov.ivanov1@gmail.com>,
"Frank Li" <Frank.Li@nxp.com>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Dinh Nguyen" <dinguyen@kernel.org>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Thierry Reding" <thierry.reding@kernel.org>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konradybcio@kernel.org>,
"Andreas Färber" <afaerber@suse.de>,
"Heiko Stuebner" <heiko@sntech.de>,
"Shawn Lin" <shawn.lin@rock-chips.com>,
"Orson Zhai" <orsonzhai@gmail.com>,
"Baolin Wang" <baolin.wang@linux.alibaba.com>,
"Michal Simek" <michal.simek@amd.com>
Subject: Re: [PATCH 01/16] ACPI: GTDT: Parse information related to the EL2 virtual timer
Date: Wed, 13 May 2026 10:41:51 +0100 [thread overview]
Message-ID: <20260513-crouching-stirring-pigeon-6e46bf@sudeepholla> (raw)
In-Reply-To: <20260507125544.2903406-2-maz@kernel.org>
On Thu, May 07, 2026 at 01:55:29PM +0100, Marc Zyngier wrote:
> Since ARMv8.1, the architecture has grown an EL2-private virtual
> timer. This has been described in ACPI since ACPI v6.3 and revision
> 3 of the GTDT table.
>
> An aditional structure was added in ACPICA, though in a rather
> bizarre way, and merged in v5.1 as 8f5a14d053100 ("ACPICA: ACPI 6.3:
> add GTDT Revision 3 support").
>
> Finally plug the table parsing in GTDT, and allow it to be eventually
> presented to the architected timer driver.
>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> ---
> drivers/acpi/arm64/gtdt.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/drivers/acpi/arm64/gtdt.c b/drivers/acpi/arm64/gtdt.c
> index ffc867bac2d60..1a58007fccf0a 100644
> --- a/drivers/acpi/arm64/gtdt.c
> +++ b/drivers/acpi/arm64/gtdt.c
> @@ -88,6 +88,19 @@ static int __init map_gt_gsi(u32 interrupt, u32 flags)
> return acpi_register_gsi(NULL, interrupt, trigger, polarity);
> }
>
> +struct gtdt_v3 {
> + struct acpi_table_gtdt gtdt_v2;
> + struct acpi_gtdt_el2 el2_vtimer;
> +};
> +
> +static struct acpi_gtdt_el2 *gtdt_to_el2_vtimer(struct acpi_table_gtdt *gtdt)
> +{
> + if (gtdt->header.revision < 3)
> + return NULL;
> +
We should validate the length as well just in case some platform bumped version
but didn't add these fields. Again it is problem if the platform timers are
also missing. We can just add the check in acpi_gtdt_init() if the version >=3
perhaps? If (gtdt->header.length < sizeof(struct gtdt_v3) invalid table or
something.
Also we have in platform_timer_valid()
platform_timer >= (void *)(acpi_gtdt_desc.gtdt + 1)
which is still valid, but again if someone messes up in v3 keeping
offset where virtual EL2 timer GSI should be present as they just copied
it from v2, then we might allow it as valid.
Do it make sense to add that check as well in acpi_gtdt_init()? I mean
the offset should be >= sizeof(struct gtdt_v3).
Both checks can be added to acpi_gtdt_init() to avoid checking for each
platform timer instance may be ?
Other than this couple of minor nit, this patch looks fine.
Reviewed-by: Sudeep Holla <sudeep.holla@kernel.org>
--
Regards,
Sudeep
next prev parent reply other threads:[~2026-05-13 9:42 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-07 12:55 [PATCH 00/16] arm64: Use EL2 virtual timer when running VHE Marc Zyngier
2026-05-07 12:55 ` [PATCH 01/16] ACPI: GTDT: Parse information related to the EL2 virtual timer Marc Zyngier
2026-05-13 9:41 ` Sudeep Holla [this message]
2026-05-13 12:19 ` Marc Zyngier
2026-05-07 12:55 ` [PATCH 02/16] clocksource/drivers/arm_arch_timer: Default to EL2 virtual timer when running VHE Marc Zyngier
2026-05-08 14:15 ` Marc Zyngier
2026-05-07 12:55 ` [PATCH 03/16] dt-bindings: timer: arm,arch_timer: Fix requirements for interrupt description Marc Zyngier
2026-05-07 12:55 ` [PATCH 04/16] arm64: dts: allwinner: Add EL2 virtual timer interrupt Marc Zyngier
2026-05-07 12:55 ` [PATCH 05/16] arm64: dts: amlogic: " Marc Zyngier
2026-05-07 15:44 ` Neil Armstrong
2026-05-07 12:55 ` [PATCH 06/16] arm64: dts: bst: " Marc Zyngier
2026-05-07 12:55 ` [PATCH 07/16] arm64: dts: exynos: " Marc Zyngier
2026-05-12 7:47 ` Jesper Nilsson
2026-05-07 12:55 ` [PATCH 08/16] arm64: dts: freescale: " Marc Zyngier
2026-05-07 12:55 ` [PATCH 09/16] arm64: dts: intel: " Marc Zyngier
2026-05-11 19:00 ` Dinh Nguyen
2026-05-07 12:55 ` [PATCH 10/16] arm64: dts: mediatek: " Marc Zyngier
2026-05-07 12:55 ` [PATCH 11/16] arm64: dts: nvidia: " Marc Zyngier
2026-05-07 12:55 ` [PATCH 12/16] arm64: dts: qcom: " Marc Zyngier
2026-05-07 12:55 ` [PATCH 13/16] arm64: dts: realtek: " Marc Zyngier
2026-05-07 12:55 ` [PATCH 14/16] arm64: dts: rockchip: " Marc Zyngier
2026-05-07 15:33 ` Heiko Stuebner
2026-05-07 15:57 ` Marc Zyngier
2026-05-07 12:55 ` [PATCH 15/16] arm64: dts: sprd: " Marc Zyngier
2026-05-07 12:55 ` [PATCH 16/16] arm64: dts: xilinx: " Marc Zyngier
2026-05-11 9:19 ` Michal Simek
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=20260513-crouching-stirring-pigeon-6e46bf@sudeepholla \
--to=sudeep.holla@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=afaerber@suse.de \
--cc=alim.akhtar@samsung.com \
--cc=andersson@kernel.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=baolin.wang@linux.alibaba.com \
--cc=bst-upstream@bstai.top \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=daniel.lezcano@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dinguyen@kernel.org \
--cc=festevam@gmail.com \
--cc=gordon.ge@bst.ai \
--cc=guohanjun@huawei.com \
--cc=heiko@sntech.de \
--cc=ivo.ivanov.ivanov1@gmail.com \
--cc=jbrunet@baylibre.com \
--cc=jernej.skrabec@gmail.com \
--cc=jesper.nilsson@axis.com \
--cc=jonathanh@nvidia.com \
--cc=kernel@pengutronix.de \
--cc=khilman@baylibre.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars.persson@axis.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=martin.blumenstingl@googlemail.com \
--cc=matthias.bgg@gmail.com \
--cc=maz@kernel.org \
--cc=michal.simek@amd.com \
--cc=neil.armstrong@linaro.org \
--cc=orsonzhai@gmail.com \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=samuel@sholland.org \
--cc=shawn.lin@rock-chips.com \
--cc=tglx@kernel.org \
--cc=thierry.reding@kernel.org \
--cc=wens@kernel.org \
--cc=will@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox