[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/3] target/arm: Use acpi_ghes_present() to see if we report
From: |
Dongjiu Geng |
Subject: |
Re: [PATCH 3/3] target/arm: Use acpi_ghes_present() to see if we report ACPI memory errors |
Date: |
Mon, 14 Jun 2021 05:49:34 +0800 |
On Fri, 4 Jun 2021 at 01:13, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> 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>
> ---
> target/arm/kvm64.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c
> index 37ceadd9a9d..59982d470d3 100644
> --- a/target/arm/kvm64.c
> +++ b/target/arm/kvm64.c
> @@ -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)) {
> --
> 2.20.1
>
Reviewed-by: Dongjiu Geng <gengdongjiu1@gmail.com>