acpi/ghes: add a notifier to notify when error data is ready
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+huawei@kernel.org> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Acked-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Message-ID: <edf9c6e5b80dc57e3443893bf9e1eb25cb9d266b.1758610789.git.mchehab+huawei@kernel.org> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
2c5a2616ed
commit
7a857a8933
2 changed files with 7 additions and 1 deletions
|
|
@ -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(acpi_generic_error_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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue