Skip to content

Commit

Permalink
target/arm: Use acpi_ghes_present() to see if we report ACPI memory e…
Browse files Browse the repository at this point in the history
…rrors

The virt_is_acpi_enabled() function is specific to the virt board, as
is the check for its 'ras' property.  Use the new acpi_ghes_present()
function to check whether we should report memory errors via
acpi_ghes_record_errors().

This avoids a link error if QEMU was built without support for the
virt board, and provides a mechanism that can be used by any future
board models that want to add ACPI memory error reporting support
(they only need to call acpi_ghes_add_fw_cfg()).

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Dongjiu Geng <gengdongjiu1@gmail.com>
Message-id: 20210603171259.27962-4-peter.maydell@linaro.org
  • Loading branch information
pm215 committed Jun 15, 2021
1 parent 859466e commit 4677cf5
Showing 1 changed file with 1 addition and 5 deletions.
6 changes: 1 addition & 5 deletions target/arm/kvm64.c
Expand Up @@ -1410,14 +1410,10 @@ void kvm_arch_on_sigbus_vcpu(CPUState *c, int code, void *addr)
{
ram_addr_t ram_addr;
hwaddr paddr;
Object *obj = qdev_get_machine();
VirtMachineState *vms = VIRT_MACHINE(obj);
bool acpi_enabled = virt_is_acpi_enabled(vms);

assert(code == BUS_MCEERR_AR || code == BUS_MCEERR_AO);

if (acpi_enabled && addr &&
object_property_get_bool(obj, "ras", NULL)) {
if (acpi_ghes_present() && addr) {
ram_addr = qemu_ram_addr_from_host(addr);
if (ram_addr != RAM_ADDR_INVALID &&
kvm_physical_memory_addr_from_host(c->kvm_state, addr, &paddr)) {
Expand Down

0 comments on commit 4677cf5

Please sign in to comment.