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


Reply via email to