* [PATCH 00/15] Prepare GHES driver to support error injection @ 2024-09-25 4:04 Mauro Carvalho Chehab 2024-09-25 4:04 ` [PATCH 11/15] acpi/ghes: better name GHES memory error function Mauro Carvalho Chehab 0 siblings, 1 reply; 3+ messages in thread From: Mauro Carvalho Chehab @ 2024-09-25 4:04 UTC (permalink / raw) To: Igor Mammedov Cc: Jonathan Cameron, Shiju Jose, Mauro Carvalho Chehab, Ani Sinha, Dongjiu Geng, Peter Maydell, Shannon Zhao, kvm, qemu-arm, qemu-devel During the development of a patch series meant to allow GHESv2 error injections, it was requested a change on how CPER offsets are calculated, by adding a new BIOS pointer and reworking the GHES logic. See: https://lore.kernel.org/qemu-devel/cover.1726293808.git.mchehab+huawei@kernel.org/ Such change ended being a big patch, so several intermediate steps are needed, together with several cleanups and renames. As agreed duing v10 review, I'll be splitting the big patch series into separate pull requests, starting with the cleanup series. This is the first patch set, containing only such preparation patches. The next series will contain the shift to use offsets from the location of the HEST table, together with a migration logic to make it compatible with 9.1. Mauro Carvalho Chehab (15): acpi/ghes: get rid of ACPI_HEST_SRC_ID_RESERVED acpi/ghes: simplify acpi_ghes_record_errors() code acpi/ghes: simplify the per-arch caller to build HEST table acpi/ghes: better handle source_id and notification acpi/ghes: Fix acpi_ghes_record_errors() argument acpi/ghes: Remove a duplicated out of bounds check acpi/ghes: Change the type for source_id acpi/ghes: Prepare to support multiple sources on ghes acpi/ghes: make the GHES record generation more generic acpi/ghes: move offset calculus to a separate function acpi/ghes: better name GHES memory error function acpi/ghes: don't crash QEMU if ghes GED is not found acpi/ghes: rename etc/hardware_error file macros better name the offset of the hardware error firmware docs: acpi_hest_ghes: fix documentation for CPER size docs/specs/acpi_hest_ghes.rst | 6 +- hw/acpi/generic_event_device.c | 4 +- hw/acpi/ghes-stub.c | 2 +- hw/acpi/ghes.c | 279 ++++++++++++++++++++------------- hw/arm/virt-acpi-build.c | 10 +- include/hw/acpi/ghes.h | 34 ++-- target/arm/kvm.c | 3 +- 7 files changed, 206 insertions(+), 132 deletions(-) -- 2.46.1 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 11/15] acpi/ghes: better name GHES memory error function 2024-09-25 4:04 [PATCH 00/15] Prepare GHES driver to support error injection Mauro Carvalho Chehab @ 2024-09-25 4:04 ` Mauro Carvalho Chehab 2024-09-26 12:07 ` Jonathan Cameron 0 siblings, 1 reply; 3+ messages in thread From: Mauro Carvalho Chehab @ 2024-09-25 4:04 UTC (permalink / raw) To: Igor Mammedov Cc: Jonathan Cameron, Shiju Jose, Mauro Carvalho Chehab, Michael S. Tsirkin, Ani Sinha, Dongjiu Geng, Paolo Bonzini, Peter Maydell, kvm, linux-kernel, qemu-arm, qemu-devel The current function used to generate GHES data is specific for memory errors. Give a better name for it, as we now have a generic function as well. Reviewed-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> --- hw/acpi/ghes-stub.c | 2 +- hw/acpi/ghes.c | 2 +- include/hw/acpi/ghes.h | 5 +++-- target/arm/kvm.c | 3 ++- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/hw/acpi/ghes-stub.c b/hw/acpi/ghes-stub.c index 2b64cbd2819a..7cec1812dad9 100644 --- a/hw/acpi/ghes-stub.c +++ b/hw/acpi/ghes-stub.c @@ -11,7 +11,7 @@ #include "qemu/osdep.h" #include "hw/acpi/ghes.h" -int acpi_ghes_record_errors(uint16_t source_id, uint64_t physical_address) +int acpi_ghes_memory_errors(uint16_t source_id, uint64_t physical_address) { return -1; } diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c index 900f1571bc97..3af1cd16d4d7 100644 --- a/hw/acpi/ghes.c +++ b/hw/acpi/ghes.c @@ -454,7 +454,7 @@ void ghes_record_cper_errors(const void *cper, size_t len, return; } -int acpi_ghes_record_errors(uint16_t source_id, uint64_t physical_address) +int acpi_ghes_memory_errors(uint16_t source_id, uint64_t physical_address) { /* Memory Error Section Type */ const uint8_t guid[] = diff --git a/include/hw/acpi/ghes.h b/include/hw/acpi/ghes.h index 1b988ac1e2f2..051a9322141f 100644 --- a/include/hw/acpi/ghes.h +++ b/include/hw/acpi/ghes.h @@ -81,15 +81,16 @@ void acpi_build_hest(GArray *table_data, GArray *hardware_errors, const char *oem_id, const char *oem_table_id); void acpi_ghes_add_fw_cfg(AcpiGhesState *vms, FWCfgState *s, GArray *hardware_errors); +int acpi_ghes_memory_errors(uint16_t source_id, + uint64_t error_physical_addr); void ghes_record_cper_errors(const void *cper, size_t len, uint16_t source_id, Error **errp); -int acpi_ghes_record_errors(uint16_t source_id, uint64_t error_physical_addr); /** * acpi_ghes_present: Report whether ACPI GHES table is present * * Returns: true if the system has an ACPI GHES table and it is - * safe to call acpi_ghes_record_errors() to record a memory error. + * safe to call acpi_ghes_memory_errors() to record a memory error. */ bool acpi_ghes_present(void); #endif diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 849e2e21b304..57192285fb96 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -2373,7 +2373,8 @@ void kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr) */ if (code == BUS_MCEERR_AR) { kvm_cpu_synchronize_state(c); - if (!acpi_ghes_record_errors(ACPI_HEST_SRC_ID_SEA, paddr)) { + if (!acpi_ghes_memory_errors(ARM_ACPI_HEST_SRC_ID_SYNC, + paddr)) { kvm_inject_arm_sea(c); } else { error_report("failed to record the error"); -- 2.46.1 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 11/15] acpi/ghes: better name GHES memory error function 2024-09-25 4:04 ` [PATCH 11/15] acpi/ghes: better name GHES memory error function Mauro Carvalho Chehab @ 2024-09-26 12:07 ` Jonathan Cameron 0 siblings, 0 replies; 3+ messages in thread From: Jonathan Cameron @ 2024-09-26 12:07 UTC (permalink / raw) To: Mauro Carvalho Chehab Cc: Igor Mammedov, Shiju Jose, Michael S. Tsirkin, Ani Sinha, Dongjiu Geng, Paolo Bonzini, Peter Maydell, kvm, linux-kernel, qemu-arm, qemu-devel On Wed, 25 Sep 2024 06:04:16 +0200 Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote: > The current function used to generate GHES data is specific for > memory errors. Give a better name for it, as we now have a generic > function as well. > > Reviewed-by: Igor Mammedov <imammedo@redhat.com> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> In general fine, but question below on what looks to be an unrelated change. Jonathan > diff --git a/target/arm/kvm.c b/target/arm/kvm.c > index 849e2e21b304..57192285fb96 100644 > --- a/target/arm/kvm.c > +++ b/target/arm/kvm.c > @@ -2373,7 +2373,8 @@ void kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr) > */ > if (code == BUS_MCEERR_AR) { > kvm_cpu_synchronize_state(c); > - if (!acpi_ghes_record_errors(ACPI_HEST_SRC_ID_SEA, paddr)) { > + if (!acpi_ghes_memory_errors(ARM_ACPI_HEST_SRC_ID_SYNC, The parameter changes seems unconnected to rest of the patch... Maybe at least mention it in the patch description. I can't find the definition of ARM_ACPI_HEST_SRC_ID_SYNC either so where did that come from? > + paddr)) { > kvm_inject_arm_sea(c); > } else { > error_report("failed to record the error"); ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-09-26 12:08 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-25 4:04 [PATCH 00/15] Prepare GHES driver to support error injection Mauro Carvalho Chehab 2024-09-25 4:04 ` [PATCH 11/15] acpi/ghes: better name GHES memory error function Mauro Carvalho Chehab 2024-09-26 12:07 ` Jonathan Cameron
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox