From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: "Michael S . Tsirkin" <mst@redhat.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Shiju Jose <shiju.jose@huawei.com>,
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
Ani Sinha <anisinha@redhat.com>,
Dongjiu Geng <gengdongjiu1@gmail.com>,
Igor Mammedov <imammedo@redhat.com>,
linux-kernel@vger.kernel.org, qemu-arm@nongnu.org,
qemu-devel@nongnu.org
Subject: [PATCH 04/31] acpi/ghes: better handle source_id and notification
Date: Fri, 6 Dec 2024 18:12:26 +0100 [thread overview]
Message-ID: <a4870548c06fe72c2eb4d16c50f369e6a4262aca.1733504943.git.mchehab+huawei@kernel.org> (raw)
In-Reply-To: <cover.1733504943.git.mchehab+huawei@kernel.org>
GHES has two fields that are stored on HEST error source
blocks associated with notifications:
- notification type, which is a number defined at the ACPI spec
containing several arch-specific synchronous and assynchronous
types;
- source id, which is a HW/FW defined number, used to distinguish
between different implemented sources.
There could be several sources with the same notification type,
which is dependent of the way each architecture maps notifications.
Right now, build_ghes_v2() hardcodes a 1:1 mapping between such
fields. Move it to two independent parameters, allowing the
caller function to fill both.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
---
Chenges from v10:
- Some changes got moved to the previous patch.
Changes from v8:
- Non-rename/cleanup changes merged altogether;
- source ID is now more generic, defined per guest target.
That should make easier to add support for 86.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
hw/acpi/ghes.c | 23 +++++++++--------------
1 file changed, 9 insertions(+), 14 deletions(-)
diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c
index 4a6c45bcb4be..29cd7e4d8171 100644
--- a/hw/acpi/ghes.c
+++ b/hw/acpi/ghes.c
@@ -284,9 +284,13 @@ static void build_ghes_error_table(GArray *hardware_errors, BIOSLinker *linker)
}
/* Build Generic Hardware Error Source version 2 (GHESv2) */
-static void build_ghes_v2(GArray *table_data, int source_id, BIOSLinker *linker)
+static void build_ghes_v2(GArray *table_data,
+ BIOSLinker *linker,
+ enum AcpiGhesNotifyType notify,
+ uint16_t source_id)
{
uint64_t address_offset;
+
/*
* Type:
* Generic Hardware Error Source version 2(GHESv2 - Type 10)
@@ -316,18 +320,8 @@ static void build_ghes_v2(GArray *table_data, int source_id, BIOSLinker *linker)
address_offset + GAS_ADDR_OFFSET, sizeof(uint64_t),
ACPI_GHES_ERRORS_FW_CFG_FILE, source_id * sizeof(uint64_t));
- switch (source_id) {
- case ACPI_HEST_SRC_ID_SEA:
- /*
- * Notification Structure
- * Now only enable ARMv8 SEA notification type
- */
- build_ghes_hw_error_notification(table_data, ACPI_GHES_NOTIFY_SEA);
- break;
- default:
- error_report("Not support this error source");
- abort();
- }
+ /* Notification Structure */
+ build_ghes_hw_error_notification(table_data, notify);
/* Error Status Block Length */
build_append_int_noprefix(table_data, ACPI_GHES_MAX_RAW_DATA_LENGTH, 4);
@@ -369,7 +363,8 @@ void acpi_build_hest(GArray *table_data, GArray *hardware_errors,
/* Error Source Count */
build_append_int_noprefix(table_data, ACPI_GHES_ERROR_SOURCE_COUNT, 4);
- build_ghes_v2(table_data, ACPI_HEST_SRC_ID_SEA, linker);
+ build_ghes_v2(table_data, linker,
+ ACPI_GHES_NOTIFY_SEA, ACPI_HEST_SRC_ID_SEA);
acpi_table_end(linker, &table);
}
--
2.47.1
next prev parent reply other threads:[~2024-12-06 17:24 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-06 17:12 [PATCH 00/31] Prepare GHES driver to support error injection Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 01/31] acpi/ghes: get rid of ACPI_HEST_SRC_ID_RESERVED Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 02/31] acpi/ghes: simplify acpi_ghes_record_errors() code Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 03/31] acpi/ghes: simplify the per-arch caller to build HEST table Mauro Carvalho Chehab
2024-12-06 17:12 ` Mauro Carvalho Chehab [this message]
2024-12-06 17:12 ` [PATCH 05/31] acpi/ghes: Fix acpi_ghes_record_errors() argument Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 06/31] acpi/ghes: Remove a duplicated out of bounds check Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 07/31] acpi/ghes: Change the type for source_id Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 08/31] acpi/ghes: don't check if physical_address is not zero Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 09/31] acpi/ghes: make the GHES record generation more generic Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 10/31] acpi/ghes: better name GHES memory error function Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 11/31] acpi/ghes: don't crash QEMU if ghes GED is not found Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 12/31] acpi/ghes: rename etc/hardware_error file macros Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 13/31] acpi/ghes: better name the offset of the hardware error firmware Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 14/31] acpi/ghes: Prepare to support multiple sources on ghes Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 15/31] acpi/ghes: add a firmware file with HEST address Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 16/31] acpi/ghes: Use HEST table offsets when preparing GHES records Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 17/31] acpi/generic_event_device: Update GHES migration to cover hest addr Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 18/31] acpi/generic_event_device: add logic to detect if HEST addr is available Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 19/31] acpi/ghes: add a notifier to notify when error data is ready Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 20/31] acpi/generic_event_device: add an APEI error device Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 21/31] arm/virt: Wire up a GED error device for ACPI / GHES Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 22/31] qapi/acpi-hest: add an interface to do generic CPER error injection Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 23/31] scripts/ghes_inject: add a script to generate GHES error inject Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 24/31] target/arm: add an experimental mpidr arm cpu property object Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 25/31] scripts/arm_processor_error.py: retrieve mpidr if not filled Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 26/31] acpi/ghes: move offset calculus to a separate function Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 27/31] DEBUG Mauro Carvalho Chehab
2024-12-07 3:38 ` Ani Sinha
2024-12-07 6:16 ` Markus Armbruster
2024-12-07 8:33 ` Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 28/31] acpi/ghes: Change ghes fill logic to work with only one source Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 29/31] HACK: use GPIO as source ID for virt-9.1 machines Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 30/31] docs: acpi_hest_ghes: fix documentation for CPER size Mauro Carvalho Chehab
2024-12-06 17:12 ` [PATCH 31/31] FIXME: acpi/ghes: properly set data record size Mauro Carvalho Chehab
2024-12-07 6:17 ` Markus Armbruster
2024-12-07 8:48 ` Mauro Carvalho Chehab
2024-12-07 6:11 ` [PATCH 00/31] Prepare GHES driver to support error injection Markus Armbruster
2024-12-07 6:15 ` Markus Armbruster
2024-12-07 8:39 ` Mauro Carvalho Chehab
2024-12-07 15:16 ` Markus Armbruster
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=a4870548c06fe72c2eb4d16c50f369e6a4262aca.1733504943.git.mchehab+huawei@kernel.org \
--to=mchehab+huawei@kernel.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=anisinha@redhat.com \
--cc=gengdongjiu1@gmail.com \
--cc=imammedo@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mst@redhat.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shiju.jose@huawei.com \
/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;
as well as URLs for NNTP newsgroup(s).