mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
acpi/ghes: simplify acpi_ghes_record_errors() code
Reduce the ident of the function and prepares it for the next changes. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Message-Id: <19af4188535217213486d169e0501e592bc78a95.1736945236.git.mchehab+huawei@kernel.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
239c3f7ed4
commit
872b69f21f
1 changed files with 29 additions and 27 deletions
|
@ -402,40 +402,42 @@ int acpi_ghes_record_errors(uint8_t source_id, uint64_t physical_address)
|
|||
|
||||
start_addr = le64_to_cpu(ags->ghes_addr_le);
|
||||
|
||||
if (physical_address) {
|
||||
if (!physical_address) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (source_id < ACPI_GHES_ERROR_SOURCE_COUNT) {
|
||||
start_addr += source_id * sizeof(uint64_t);
|
||||
}
|
||||
if (source_id < ACPI_GHES_ERROR_SOURCE_COUNT) {
|
||||
start_addr += source_id * sizeof(uint64_t);
|
||||
}
|
||||
|
||||
cpu_physical_memory_read(start_addr, &error_block_addr,
|
||||
sizeof(error_block_addr));
|
||||
cpu_physical_memory_read(start_addr, &error_block_addr,
|
||||
sizeof(error_block_addr));
|
||||
|
||||
error_block_addr = le64_to_cpu(error_block_addr);
|
||||
error_block_addr = le64_to_cpu(error_block_addr);
|
||||
|
||||
read_ack_register_addr = start_addr +
|
||||
ACPI_GHES_ERROR_SOURCE_COUNT * sizeof(uint64_t);
|
||||
read_ack_register_addr = start_addr +
|
||||
ACPI_GHES_ERROR_SOURCE_COUNT * sizeof(uint64_t);
|
||||
|
||||
cpu_physical_memory_read(read_ack_register_addr,
|
||||
&read_ack_register, sizeof(read_ack_register));
|
||||
cpu_physical_memory_read(read_ack_register_addr,
|
||||
&read_ack_register, sizeof(read_ack_register));
|
||||
|
||||
/* zero means OSPM does not acknowledge the error */
|
||||
if (!read_ack_register) {
|
||||
error_report("OSPM does not acknowledge previous error,"
|
||||
" so can not record CPER for current error anymore");
|
||||
} else if (error_block_addr) {
|
||||
read_ack_register = cpu_to_le64(0);
|
||||
/*
|
||||
* Clear the Read Ack Register, OSPM will write it to 1 when
|
||||
* it acknowledges this error.
|
||||
*/
|
||||
cpu_physical_memory_write(read_ack_register_addr,
|
||||
&read_ack_register, sizeof(uint64_t));
|
||||
/* zero means OSPM does not acknowledge the error */
|
||||
if (!read_ack_register) {
|
||||
error_report("OSPM does not acknowledge previous error,"
|
||||
" so can not record CPER for current error anymore");
|
||||
} else if (error_block_addr) {
|
||||
read_ack_register = cpu_to_le64(0);
|
||||
/*
|
||||
* Clear the Read Ack Register, OSPM will write it to 1 when
|
||||
* it acknowledges this error.
|
||||
*/
|
||||
cpu_physical_memory_write(read_ack_register_addr,
|
||||
&read_ack_register, sizeof(uint64_t));
|
||||
|
||||
ret = acpi_ghes_record_mem_error(error_block_addr,
|
||||
physical_address);
|
||||
} else
|
||||
error_report("can not find Generic Error Status Block");
|
||||
ret = acpi_ghes_record_mem_error(error_block_addr,
|
||||
physical_address);
|
||||
} else {
|
||||
error_report("can not find Generic Error Status Block");
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue