[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v9 11/12] target/arm: add an experimental mpidr arm cpu prope
|
From: |
Peter Maydell |
|
Subject: |
Re: [PATCH v9 11/12] target/arm: add an experimental mpidr arm cpu property object |
|
Date: |
Fri, 30 Aug 2024 17:27:27 +0100 |
On Mon, 26 Aug 2024 at 04:12, Mauro Carvalho Chehab
<mchehab+huawei@kernel.org> wrote:
>
> Em Sun, 25 Aug 2024 12:34:14 +0100
> Peter Maydell <peter.maydell@linaro.org> escreveu:
>
> > On Sun, 25 Aug 2024 at 04:46, Mauro Carvalho Chehab
> > <mchehab+huawei@kernel.org> wrote:
> > >
> > > Accurately injecting an ARM Processor error ACPI/APEI GHES
> > > error record requires the value of the ARM Multiprocessor
> > > Affinity Register (mpidr).
> > >
> > > While ARM implements it, this is currently not visible.
> > >
> > > Add a field at CPU storing it, and place it at arm_cpu_properties
> > > as experimental, thus allowing it to be queried via QMP using
> > > qom-get function.
> >
> > > static Property arm_cpu_properties[] = {
> > > DEFINE_PROP_UINT64("midr", ARMCPU, midr, 0),
> > > + DEFINE_PROP_UINT64("x-mpidr", ARMCPU, mpidr, 0),
> > > DEFINE_PROP_UINT64("mp-affinity", ARMCPU,
> > > mp_affinity, ARM64_AFFINITY_INVALID),
> > > DEFINE_PROP_INT32("node-id", ARMCPU, node_id,
> > > CPU_UNSET_NUMA_NODE_ID),
> >
> > Why do we need this?
>
> The ACPI HEST tables, in particular when using GHESv2 provide
> several kinds of errors. Among them, we have ARM Processor Error,
> as defined at UEFI 2.10 spec (and earlier versions), the Common
> Platform Error Record (CPER) is defined as:
>
>
> https://uefi.org/specs/UEFI/2.10/Apx_N_Common_Platform_Error_Record.html?highlight=ghes#arm-processor-error-section
>
> There are two fields that are part of the CPER record. One of them is
> mandatory (MIDR); the other one is optional, but needed to decode another
> field.
>
> So, basically those errors need them.
OK, but why do scripts outside of QEMU need the information,
as opposed to telling QEMU "hey, generate an error" and
QEMU knowing the format to use? Do we have any other
QMP APIs where something external provides raw ACPI
data like this?
-- PMM
- [PATCH v9 00/12] Add ACPI CPER firmware first error injection on ARM emulation, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 10/12] scripts/ghes_inject: add a script to generate GHES error inject, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 12/12] scripts/arm_processor_error.py: retrieve mpidr if not filled, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 03/12] acpi/ghes: rename etc/hardware_error file macros, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 05/12] acpi/ghes: add a notifier to notify when error data is ready, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 06/12] acpi/generic_event_device: add an APEI error device, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 09/12] docs: acpi_hest_ghes: fix documentation for CPER size, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 01/12] acpi/ghes: add a firmware file with HEST address, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 07/12] arm/virt: Wire up a GED error device for ACPI / GHES, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 04/12] acpi/ghes: better name GHES memory error function, Mauro Carvalho Chehab, 2024/08/24
- [PATCH v9 02/12] acpi/ghes: rework the logic to handle HEST source ID, Mauro Carvalho Chehab, 2024/08/24