On Thu, 27 Feb 2025 17:00:47 +0100 Mauro Carvalho Chehab <mchehab+hua...@kernel.org> wrote:
> Some error injection notify methods are async, like GPIO > notify. Add a notifier to be used when the error record is > ready to be sent to the guest OS. > > Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org> > Reviewed-by: Jonathan Cameron <jonathan.came...@huawei.com> Acked-by: Igor Mammedov <imamm...@redhat.com> > --- > hw/acpi/ghes.c | 5 ++++- > include/hw/acpi/ghes.h | 3 +++ > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c > index f49d0d628fc4..0135ac844bcf 100644 > --- a/hw/acpi/ghes.c > +++ b/hw/acpi/ghes.c > @@ -510,6 +510,9 @@ static void get_ghes_source_offsets(uint16_t source_id, > *read_ack_start_addr = le64_to_cpu(*read_ack_start_addr); > } > > +NotifierList acpi_generic_error_notifiers = > + NOTIFIER_LIST_INITIALIZER(error_device_notifiers); > + > void ghes_record_cper_errors(AcpiGhesState *ags, const void *cper, size_t > len, > uint16_t source_id, Error **errp) > { > @@ -550,7 +553,7 @@ void ghes_record_cper_errors(AcpiGhesState *ags, const > void *cper, size_t len, > /* Write the generic error data entry into guest memory */ > cpu_physical_memory_write(cper_addr, cper, len); > > - return; > + notifier_list_notify(&acpi_generic_error_notifiers, NULL); > } > > int acpi_ghes_memory_errors(AcpiGhesState *ags, uint16_t source_id, > diff --git a/include/hw/acpi/ghes.h b/include/hw/acpi/ghes.h > index 8c4b08433760..390943e46d99 100644 > --- a/include/hw/acpi/ghes.h > +++ b/include/hw/acpi/ghes.h > @@ -24,6 +24,9 @@ > > #include "hw/acpi/bios-linker-loader.h" > #include "qapi/error.h" > +#include "qemu/notify.h" > + > +extern NotifierList acpi_generic_error_notifiers; > > /* > * Values for Hardware Error Notification Type field