public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 00/16] Prepare GHES driver to support error injection
@ 2024-12-07  8:54 Mauro Carvalho Chehab
  2024-12-07  8:54 ` [PATCH v6 10/16] acpi/ghes: better name GHES memory error function Mauro Carvalho Chehab
  2025-01-15 11:09 ` [PATCH v6 00/16] Prepare GHES driver to support error injection Michael S. Tsirkin
  0 siblings, 2 replies; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2024-12-07  8:54 UTC (permalink / raw)
  To: Michael S . Tsirkin
  Cc: Jonathan Cameron, Shiju Jose, Mauro Carvalho Chehab, Ani Sinha,
	Dongjiu Geng, Igor Mammedov, Paolo Bonzini, Peter Maydell,
	Shannon Zhao, kvm, linux-kernel, qemu-arm, qemu-devel

Hi Michael,

Please ignore the patch series I sent yesterday:
	https://lore.kernel.org/qemu-devel/20241207093922.1efa02ec@foz.lan/T/#t

The git range was wrong, and it was supposed to be v6. This is the right one.
It is based on the top of v9.2.0-rc3.

Could you please merge this series for ACPI stuff? All patches were already
reviewed by Igor. The changes against v4 are just on some patch descriptions,
plus the addition of Reviewed-by. No Code changes.

Thanks,
Mauro

-

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.

---

v5:
- some changes at patches description and added some R-B;
- no changes at the code.

v4:
- merged a patch renaming the function which calculate offsets to:
  get_hw_error_offsets(), to avoid the need of such change at the next
  patch series;
- removed a functional change at the logic which makes
  the GHES record generation more generic;
- a couple of trivial changes on patch descriptions and line break cleanups.

v3:
- improved some patch descriptions;
- some patches got reordered to better reflect the changes;
- patch v2 08/15: acpi/ghes: Prepare to support multiple sources on ghes
  was split on two patches. The first one is in this cleanup series:
      acpi/ghes: Change ghes fill logic to work with only one source
  contains just the simplification logic. The actual preparation will
  be moved to this series:
     https://lore.kernel.org/qemu-devel/cover.1727782588.git.mchehab+huawei@kernel.org/

v2: 
- some indentation fixes;
- some description improvements;
- fixed a badly-solved merge conflict that ended renaming a parameter.

Mauro Carvalho Chehab (16):
  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: don't check if physical_address is not zero
  acpi/ghes: make the GHES record generation more generic
  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
  acpi/ghes: better name the offset of the hardware error firmware
  acpi/ghes: move offset calculus to a separate function
  acpi/ghes: Change ghes fill logic to work with only one source
  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                 | 259 +++++++++++++++++++--------------
 hw/arm/virt-acpi-build.c       |   5 +-
 include/hw/acpi/ghes.h         |  16 +-
 target/arm/kvm.c               |   2 +-
 7 files changed, 169 insertions(+), 125 deletions(-)

-- 
2.47.1



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

* [PATCH v6 10/16] acpi/ghes: better name GHES memory error function
  2024-12-07  8:54 [PATCH v6 00/16] Prepare GHES driver to support error injection Mauro Carvalho Chehab
@ 2024-12-07  8:54 ` Mauro Carvalho Chehab
  2025-01-15 11:09 ` [PATCH v6 00/16] Prepare GHES driver to support error injection Michael S. Tsirkin
  1 sibling, 0 replies; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2024-12-07  8:54 UTC (permalink / raw)
  To: Michael S . Tsirkin
  Cc: Jonathan Cameron, Shiju Jose, Mauro Carvalho Chehab, Ani Sinha,
	Dongjiu Geng, Igor Mammedov, 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>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.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 | 4 ++--
 target/arm/kvm.c       | 2 +-
 4 files changed, 5 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 4b5332f8c667..414a4a1ee00e 100644
--- a/hw/acpi/ghes.c
+++ b/hw/acpi/ghes.c
@@ -415,7 +415,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 8859346af51a..21666a4bcc8b 100644
--- a/include/hw/acpi/ghes.h
+++ b/include/hw/acpi/ghes.h
@@ -74,15 +74,15 @@ 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 7b6812c0de2e..b4260467f8b9 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -2387,7 +2387,7 @@ 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(ACPI_HEST_SRC_ID_SEA, paddr)) {
                     kvm_inject_arm_sea(c);
                 } else {
                     error_report("failed to record the error");
-- 
2.47.1


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

* Re: [PATCH v6 00/16] Prepare GHES driver to support error injection
  2024-12-07  8:54 [PATCH v6 00/16] Prepare GHES driver to support error injection Mauro Carvalho Chehab
  2024-12-07  8:54 ` [PATCH v6 10/16] acpi/ghes: better name GHES memory error function Mauro Carvalho Chehab
@ 2025-01-15 11:09 ` Michael S. Tsirkin
  2025-01-15 12:51   ` Mauro Carvalho Chehab
  1 sibling, 1 reply; 4+ messages in thread
From: Michael S. Tsirkin @ 2025-01-15 11:09 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Jonathan Cameron, Shiju Jose, Ani Sinha, Dongjiu Geng,
	Igor Mammedov, Paolo Bonzini, Peter Maydell, Shannon Zhao, kvm,
	linux-kernel, qemu-arm, qemu-devel

On Sat, Dec 07, 2024 at 09:54:06AM +0100, Mauro Carvalho Chehab wrote:
> Hi Michael,
> 
> Please ignore the patch series I sent yesterday:
> 	https://lore.kernel.org/qemu-devel/20241207093922.1efa02ec@foz.lan/T/#t
> 
> The git range was wrong, and it was supposed to be v6. This is the right one.
> It is based on the top of v9.2.0-rc3.
> 
> Could you please merge this series for ACPI stuff? All patches were already
> reviewed by Igor. The changes against v4 are just on some patch descriptions,
> plus the addition of Reviewed-by. No Code changes.
> 
> Thanks,
> Mauro


Still waiting for a version with minor nits fixed.

> -
> 
> 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.
> 
> ---
> 
> v5:
> - some changes at patches description and added some R-B;
> - no changes at the code.
> 
> v4:
> - merged a patch renaming the function which calculate offsets to:
>   get_hw_error_offsets(), to avoid the need of such change at the next
>   patch series;
> - removed a functional change at the logic which makes
>   the GHES record generation more generic;
> - a couple of trivial changes on patch descriptions and line break cleanups.
> 
> v3:
> - improved some patch descriptions;
> - some patches got reordered to better reflect the changes;
> - patch v2 08/15: acpi/ghes: Prepare to support multiple sources on ghes
>   was split on two patches. The first one is in this cleanup series:
>       acpi/ghes: Change ghes fill logic to work with only one source
>   contains just the simplification logic. The actual preparation will
>   be moved to this series:
>      https://lore.kernel.org/qemu-devel/cover.1727782588.git.mchehab+huawei@kernel.org/
> 
> v2: 
> - some indentation fixes;
> - some description improvements;
> - fixed a badly-solved merge conflict that ended renaming a parameter.
> 
> Mauro Carvalho Chehab (16):
>   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: don't check if physical_address is not zero
>   acpi/ghes: make the GHES record generation more generic
>   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
>   acpi/ghes: better name the offset of the hardware error firmware
>   acpi/ghes: move offset calculus to a separate function
>   acpi/ghes: Change ghes fill logic to work with only one source
>   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                 | 259 +++++++++++++++++++--------------
>  hw/arm/virt-acpi-build.c       |   5 +-
>  include/hw/acpi/ghes.h         |  16 +-
>  target/arm/kvm.c               |   2 +-
>  7 files changed, 169 insertions(+), 125 deletions(-)
> 
> -- 
> 2.47.1
> 


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

* Re: [PATCH v6 00/16] Prepare GHES driver to support error injection
  2025-01-15 11:09 ` [PATCH v6 00/16] Prepare GHES driver to support error injection Michael S. Tsirkin
@ 2025-01-15 12:51   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2025-01-15 12:51 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Jonathan Cameron, Shiju Jose, Ani Sinha, Dongjiu Geng,
	Igor Mammedov, Paolo Bonzini, Peter Maydell, Shannon Zhao, kvm,
	linux-kernel, qemu-arm, qemu-devel

Em Wed, 15 Jan 2025 06:09:12 -0500
"Michael S. Tsirkin" <mst@redhat.com> escreveu:

> On Sat, Dec 07, 2024 at 09:54:06AM +0100, Mauro Carvalho Chehab wrote:
> > Hi Michael,
> > 
> > Please ignore the patch series I sent yesterday:
> > 	https://lore.kernel.org/qemu-devel/20241207093922.1efa02ec@foz.lan/T/#t
> > 
> > The git range was wrong, and it was supposed to be v6. This is the right one.
> > It is based on the top of v9.2.0-rc3.
> > 
> > Could you please merge this series for ACPI stuff? All patches were already
> > reviewed by Igor. The changes against v4 are just on some patch descriptions,
> > plus the addition of Reviewed-by. No Code changes.
> > 
> > Thanks,
> > Mauro  
> 
> 
> Still waiting for a version with minor nits fixed.

Just sent v7 addressing the minor nits on patch 9.

> > -
> > 
> > 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.
> > 
> > ---
> > 
> > v5:
> > - some changes at patches description and added some R-B;
> > - no changes at the code.
> > 
> > v4:
> > - merged a patch renaming the function which calculate offsets to:
> >   get_hw_error_offsets(), to avoid the need of such change at the next
> >   patch series;
> > - removed a functional change at the logic which makes
> >   the GHES record generation more generic;
> > - a couple of trivial changes on patch descriptions and line break cleanups.
> > 
> > v3:
> > - improved some patch descriptions;
> > - some patches got reordered to better reflect the changes;
> > - patch v2 08/15: acpi/ghes: Prepare to support multiple sources on ghes
> >   was split on two patches. The first one is in this cleanup series:
> >       acpi/ghes: Change ghes fill logic to work with only one source
> >   contains just the simplification logic. The actual preparation will
> >   be moved to this series:
> >      https://lore.kernel.org/qemu-devel/cover.1727782588.git.mchehab+huawei@kernel.org/
> > 
> > v2: 
> > - some indentation fixes;
> > - some description improvements;
> > - fixed a badly-solved merge conflict that ended renaming a parameter.
> > 
> > Mauro Carvalho Chehab (16):
> >   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: don't check if physical_address is not zero
> >   acpi/ghes: make the GHES record generation more generic
> >   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
> >   acpi/ghes: better name the offset of the hardware error firmware
> >   acpi/ghes: move offset calculus to a separate function
> >   acpi/ghes: Change ghes fill logic to work with only one source
> >   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                 | 259 +++++++++++++++++++--------------
> >  hw/arm/virt-acpi-build.c       |   5 +-
> >  include/hw/acpi/ghes.h         |  16 +-
> >  target/arm/kvm.c               |   2 +-
> >  7 files changed, 169 insertions(+), 125 deletions(-)
> > 
> > -- 
> > 2.47.1
> >   
> 



Thanks,
Mauro

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

end of thread, other threads:[~2025-01-15 12:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-07  8:54 [PATCH v6 00/16] Prepare GHES driver to support error injection Mauro Carvalho Chehab
2024-12-07  8:54 ` [PATCH v6 10/16] acpi/ghes: better name GHES memory error function Mauro Carvalho Chehab
2025-01-15 11:09 ` [PATCH v6 00/16] Prepare GHES driver to support error injection Michael S. Tsirkin
2025-01-15 12:51   ` Mauro Carvalho Chehab

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