Adds support to ARM virtualization to allow handling
generic error ACPI Event via GED & error source device.
It is aligned with Linux Kernel patch:
https://lore.kernel.org/lkml/1272350481-27951-8-git-send-email-ying.hu...@intel.com/
Co-authored-by: Mauro Carvalho Chehab
Co-authored-by: Jona
The GHES migration logic at GED should now support HEST table
location too.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/generic_event_device.c | 29 +
1 file changed, 29 insertions(+)
diff --git a/hw
inter and change the logic
at acpi_ghes_record_errors() to dynamically use the new size.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 47 +---
hw/arm/virt-acpi-build.c | 5 +
include/hw/acpi/ghes.h
rget happy.
(two patches: first one whitelisting such tables; second one removing from
whitelist and updating/adding such tables to tests/data/acpi)
I'm enclosing a diff from v1 at the end, as it may help check the differences.
Mauro Carvalho Chehab (13):
acpi/ghes: Prepare to support m
structures.
Yet, keep the old code, as this is needed for migration purposes.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c | 111 -
1 file changed, 101 insertions(+), 10 deletions(-)
diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c
index
Create a new property (x-has-hest-addr) and use it to detect if
the GHES table offsets can be calculated from the HEST address
(qemu 10.0 and upper) or via the legacy way via an offset obtained
from the hardware_errors firmware file.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan
The DSDT table will also be affected by such change.
Signed-off-by: Mauro Carvalho Chehab
---
tests/data/acpi/aarch64/virt/HEST | 0
tests/qtest/bios-tables-test-allowed-diff.h | 2 ++
2 files changed, 2 insertions(+)
create mode 100644 tests/data/acpi/aarch64/virt/HEST
diff --git a
08 008h] Read Ack Preserve : FFFFFFFE
[0D8h 0216 008h] Read Ack Write : 0001
Signed-off-by: Mauro Carvalho Chehab
---
tests/data/acpi/aarch64/virt/DSDT | Bin 5196 -> 5240 bytes
.../data/acpi/aarch64/virt/DSDT.acpihmatvirt | Bin 5282 ->
Store HEST table address at GPA, placing its content at
hest_addr_le variable.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
While here, capitalize first letter on a comment about hardware_error
address.
---
Change from v8:
- hest_addr_lr is now pointing to the error
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
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 5 -
include/hw/acpi/ghes.h | 3 +++
2 files
Using the QMP GHESv2 API requires preparing a raw data array
containing a CPER record.
Add a helper script with subcommands to prepare such data.
Currently, only ARM Processor error CPER record is supported.
Signed-off-by: Mauro Carvalho Chehab
---
MAINTAINERS| 3
Move the check logic into a common function and simplify the
code which checks if GHES is enabled and was properly setup.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes-stub.c| 7 ---
hw/acpi/ghes.c | 43
errors to
the guest via ACPI APEI Generic Hardware Error Source (GHES).
Co-authored-by: Mauro Carvalho Chehab
Co-authored-by: Jonathan Cameron
Signed-off-by: Jonathan Cameron
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
---
hw/acpi/aml-build.c| 10
of
upstream master
v3: did some minor cleanups at the code, as suggested by Jonathan Cameron.
v2:
- some whitespace and comment changes
- patch 3/6 (acpi/ghes: rename the function which gets hw error offsets)
was merged on the cleanup series.
*** BLURB HERE ***
Mauro Carvalho Chehab
Store HEST table address at GPA, placing its content at
hest_addr_le variable.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
Change from v8:
- hest_addr_lr is now pointing to the error source size and data.
---
hw/acpi/ghes.c | 17 -
include
add a HEST table bios pointer and change the logic
at acpi_ghes_record_errors() to dynamically use the new size.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 43 ++--
hw/arm/virt-acpi-build.c | 5 +
in
Create a new property (x-has-hest-addr) and use it to detect if
the GHES table offsets can be calculated from the HEST address
(qemu 9.2 and upper) or via the legacy way via an offset obtained
from the hardware_errors firmware file.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi
and the type of the
HEST error block structures.
Yet, keep the old code, as this is needed for migration purposes.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c | 98 --
1 file changed, 88 insertions(+), 10 deletions(-)
diff --git a/hw
The GHES migration logic at GED should now support HEST table
location too.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/generic_event_device.c | 29 +
1 file changed, 29 insertions(+)
diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c
As described at: ACPI 6.5 spec at:
18.3.2. ACPI Error Source
In particular at GHES/GHESv2 table:
Table 18.10 Generic Hardware Error Source Structure
HEST source ID is actually a 16-bit value.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor
The hardware error firmware is where HEST error structures are
stored. Those can be GHESv2, but they can also be other types.
Better name the location of the hardware error.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
Now that we have also have a file to store HEST data location,
which is part of GHES, better name the file where CPER records
are stored.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 38
The current function used to generate GHES data is specific for
memory errors. Give a better name for it, as we now have a generic
function as well.
Reviewed-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes-stub.c| 2 +-
hw/acpi/ghes.c
described at:
ACPI 6.2: 18.3.2.7.1 Generic Error Data
The remaining code to generate a memory error now belongs to
acpi_ghes_record_errors() function.
A further patch will give it a better name.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
Reviewed-by: Jonathan
This is just duplicating ACPI_GHES_ERROR_SOURCE_COUNT, which
has a better name. So, drop the duplication.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 7 ++-
include/hw/acpi/ghes.h | 3 ++-
2 files changed, 4
The GHES driver requires not only a HEST table, but also a
separate firmware file to store Error Structure records.
It can't do one without the other.
Simplify the caller logic for it to require one function.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jon
Extending to multiple sources require a BIOS pointer to the
beginning of the HEST table, which in turn requires a backward-compatible
code.
So, the current code supports only one source. Ensure that and simplify
the code.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
While the spec defines a CPER size of 4KiB for each record,
currently it is set to 1KiB. Fix the documentation and add
a pointer to the macro name there, as this may help to keep
it updated.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
docs
Em Wed, 15 Jan 2025 06:09:12 -0500
"Michael S. Tsirkin" escreveu:
> On Sat, Dec 07, 2024 at 09:54:06AM +0100, Mauro Carvalho Chehab wrote:
> > Hi Michael,
> >
> > Please ignore the patch series I sent yesterday:
> > https://lore.kernel.org/qemu-devel
acpi_ghes_record_errors() has an assert() at the beginning
to ensure that source_id will be lower than
ACPI_GHES_ERROR_SOURCE_COUNT. Remove a duplicated check.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 4 +---
1 file
Make error handling within ghes_record_cper_errors() consistent,
i.e. instead abort just print a error in case ghes GED is not found.
Reviewed-by: Jonathan Cameron
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 5 -
1 file changed, 4 insertions(+), 1
caller function to fill both.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
Chenges from v10:
- Some changes got moved to the previous patch.
Changes from v8:
- Non-rename/cleanup changes merged altogether;
- source ID is now more generic
Reduce the ident of the function and prepares it for
the next changes.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 56 ++
1 file changed, 29
reparation will
be moved to this series:
https://lore.kernel.org/qemu-devel/cover.1727782588.git.mchehab+hua...@kernel.org/
v2:
- some indentation fixes;
- some description improvements;
- fixed a badly-solved merge conflict that ended renaming a parameter.
Mauro Carvalho Chehab (16):
The 'physical_address' value is a faulty page. As such, 0 is
as valid as any other value.
Suggested-by: Igor Mammedov
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 4
1 file changed, 4 deletions(-)
diff
, in preparation for a patch that will be changing the
logic to calculate it from the HEST table.
While here, properly name the variable which stores the cper
address.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 40
Align the header file with the actual implementation of
this function, as the first argument is source ID and not
notification type.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
Changes from v8:
- Non-rename/cleanup changes merged
Em Fri, 14 Feb 2025 14:16:31 +1000
Gavin Shan escreveu:
> Currently, there is only one CPER buffer (entry), meaning only one
> memory error can be reported. In extreme case, multiple memory errors
> can be raised on different vCPUs. For example, a singile memory error
> on a 64KB page of the host
Create a new property (x-has-hest-addr) and use it to detect if
the GHES table offsets can be calculated from the HEST address
(qemu 10.0 and upper) or via the legacy way via an offset obtained
from the hardware_errors firmware file.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan
Carvalho Chehab;
Co-authored-by: Jonathan Cameron
Co-authored-by: Shiju Jose
Co-authored-by: Mauro Carvalho Chehab
Signed-off-by: Jonathan Cameron
Signed-off-by: Shiju Jose
Signed-off-by: Mauro Carvalho Chehab
Acked-by: Igor Mammedov
Acked-by: Markus Armbruster
---
Changes since v9:
- ARM
Instead of having a function to check if ACPI is enabled
(acpi_ghes_present), change its logic to be more generic,
returing a pointed to AcpiGhesState.
Such change allows cleanup the ghes GED state code, avoiding
to read it multiple times, and simplifying the code.
Signed-off-by: Mauro Carvalho
Such script allows customizing the error data, allowing to change
all fields at the record. Please use:
$ ghes_inject.py arm -h
For more details about its usage.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
MAINTAINERS| 3 +
scripts
Adds support to ARM virtualization to allow handling
generic error ACPI Event via GED & error source device.
It is aligned with Linux Kernel patch:
https://lore.kernel.org/lkml/1272350481-27951-8-git-send-email-ying.hu...@intel.com/
Co-authored-by: Mauro Carvalho Chehab
Co-authored-by: Jona
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
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 5 -
include/hw/acpi/ghes.h | 3 +++
2 files
The GHES migration logic should now support HEST table location too.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/generic_event_device.c | 29 +
1 file changed, 29 insertions(+)
diff --git a/hw/acpi
replicates what OSPM does.
As the next patches will be adding a more generic logic, add a
new use_hest_addr, set to false, in preparation for such changes.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c | 46
hw/arm/virt-acpi-build.c
t one whitelisting such tables; second one removing from
whitelist and updating/adding such tables to tests/data/acpi)
Mauro Carvalho Chehab (14):
acpi/ghes: prepare to change the way HEST offsets are calculated
acpi/ghes: add a firmware file with HEST address
acpi/ghes: Use HEST table of
errors to
the guest via ACPI APEI Generic Hardware Error Source (GHES).
Co-authored-by: Mauro Carvalho Chehab
Co-authored-by: Jonathan Cameron
Signed-off-by: Jonathan Cameron
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
---
hw/acpi/aml-build.c| 10
Store HEST table address at GPA, placing its the start of the table at
hest_addr_le variable.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 22 --
include/hw/acpi/ghes.h | 7 ++-
2 files
structures.
Yet, keep the old code, as this is needed for migration purposes.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 100 +
include/hw/acpi/ghes.h | 2 +-
2 files changed, 101 insertions(+), 1
the same time, change the logic to be more flexible,
allowing the number of sources to be defined when building the
HEST table by the caller.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 38
*/) // _HID:
Hardware ID
Name (_UID, Zero) // _UID: Unique ID
}
+
+Device (GEDD)
+{
+Name (_HID, "PNP0C33" /* Error Device */) // _HID: Hardware ID
+Name (_UID, Zero) // _UID: Unique ID
+ }
}
}
Signed-off-by
Em Fri, 21 Feb 2025 13:23:06 +0100
Mauro Carvalho Chehab escreveu:
> Em Fri, 21 Feb 2025 10:21:27 +
> Jonathan Cameron escreveu:
>
> > On Fri, 21 Feb 2025 07:38:23 +0100
> > Mauro Carvalho Chehab wrote:
> >
> > > Em Mon, 3 Feb 2025 16:22:36
The DSDT table will also be affected by such change.
Signed-off-by: Mauro Carvalho Chehab
---
tests/qtest/bios-tables-test-allowed-diff.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/qtest/bios-tables-test-allowed-diff.h
b/tests/qtest/bios-tables-test-allowed-diff.h
index
Em Mon, 3 Feb 2025 15:34:23 +0100
Igor Mammedov escreveu:
> On Fri, 31 Jan 2025 18:42:44 +0100
> Mauro Carvalho Chehab wrote:
>
> > There are two pointers that are needed during error injection:
> >
> > 1. The start address of the CPER block to be stored;
&g
Em Mon, 3 Feb 2025 16:22:36 +0100
Igor Mammedov escreveu:
> On Mon, 3 Feb 2025 11:09:34 +
> Jonathan Cameron wrote:
>
> > On Fri, 31 Jan 2025 18:42:41 +0100
> > Mauro Carvalho Chehab wrote:
> >
> > > Now that the ghes preparation patches were merge
Em Wed, 05 Feb 2025 09:16:53 +0100
Markus Armbruster escreveu:
> Mauro Carvalho Chehab writes:
>
> > Using the QMP GHESv2 API requires preparing a raw data array
> > containing a CPER record.
> >
> > Add a helper script with subcommands to prepare such dat
Em Fri, 21 Feb 2025 10:21:27 +
Jonathan Cameron escreveu:
> On Fri, 21 Feb 2025 07:38:23 +0100
> Mauro Carvalho Chehab wrote:
>
> > Em Mon, 3 Feb 2025 16:22:36 +0100
> > Igor Mammedov escreveu:
> >
> > > On Mon, 3 Feb 2025 11:09:34
Em Wed, 26 Feb 2025 15:16:56 +0100
Igor Mammedov escreveu:
> On Fri, 21 Feb 2025 15:35:09 +0100
> Mauro Carvalho Chehab wrote:
>
> > Now that the ghes preparation patches were merged, let's add support
> > for error injection.
> >
> > On this series, the
Em Tue, 25 Feb 2025 10:43:27 +0100
Igor Mammedov escreveu:
> On Fri, 21 Feb 2025 07:02:21 +0100
> Mauro Carvalho Chehab wrote:
>
> > Em Mon, 3 Feb 2025 15:34:23 +0100
> > Igor Mammedov escreveu:
> >
> > > On Fri, 31 Jan 2025 18:42:44 +010
Em Wed, 26 Feb 2025 10:56:28 +0100
Mauro Carvalho Chehab escreveu:
> Em Tue, 25 Feb 2025 11:01:15 +0100
> Igor Mammedov escreveu:
>
> > On Fri, 21 Feb 2025 10:21:27 +
> > Jonathan Cameron wrote:
> >
> > > On Fri, 21 Feb 2025 07:38:23 +010
Em Wed, 26 Feb 2025 12:23:03 +0100
Mauro Carvalho Chehab escreveu:
> Em Wed, 26 Feb 2025 10:56:28 +0100
> Mauro Carvalho Chehab escreveu:
>
> > Em Tue, 25 Feb 2025 11:01:15 +0100
> > Igor Mammedov escreveu:
> >
> > > On Fri, 21 Feb 2025 10:21:27
Em Tue, 25 Feb 2025 11:01:15 +0100
Igor Mammedov escreveu:
> On Fri, 21 Feb 2025 10:21:27 +
> Jonathan Cameron wrote:
>
> > On Fri, 21 Feb 2025 07:38:23 +0100
> > Mauro Carvalho Chehab wrote:
> >
> > > Em Mon, 3 Feb 2025 16:22:36
Such script allows customizing the error data, allowing to change
all fields at the record. Please use:
$ ghes_inject.py arm -h
For more details about its usage.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
MAINTAINERS| 3 +
scripts
Carvalho Chehab;
Co-authored-by: Jonathan Cameron
Co-authored-by: Shiju Jose
Co-authored-by: Mauro Carvalho Chehab
Signed-off-by: Jonathan Cameron
Signed-off-by: Shiju Jose
Signed-off-by: Mauro Carvalho Chehab
Acked-by: Igor Mammedov
Acked-by: Markus Armbruster
---
MAINTAINERS
errors to
the guest via ACPI APEI Generic Hardware Error Source (GHES).
Co-authored-by: Mauro Carvalho Chehab
Co-authored-by: Jonathan Cameron
Signed-off-by: Jonathan Cameron
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
---
hw/acpi/aml-build.c| 10
Em Thu, 27 Feb 2025 10:54:54 +0100
Igor Mammedov escreveu:
> On Fri, 21 Feb 2025 15:35:09 +0100
> Mauro Carvalho Chehab wrote:
>
> > Now that the ghes preparation patches were merged, let's add support
> > for error injection.
> >
> > On this series, the
the same time, change the logic to be more flexible,
allowing the number of sources to be defined when building the
HEST table by the caller.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 39
Now that HEST table is checked for aarch64, add the current
firmware file.
Signed-off-by: Mauro Carvalho Chehab
---
tests/data/acpi/aarch64/virt/HEST | Bin 0 -> 132 bytes
tests/qtest/bios-tables-test-allowed-diff.h | 1 -
2 files changed, 1 deletion(-)
diff --git a/tests/data/a
Move the check logic into a common function and simplify the
code which checks if GHES is enabled and was properly setup.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes-stub.c| 7 ---
hw/acpi/ghes.c | 38
While the HEST layout didn't change, there are some internal
changes related to how offsets are calculated and how memory error
events are triggered.
Update specs to reflect such changes.
Signed-off-by: Mauro Carvalho Chehab
---
docs/specs/acpi_hest_ghes.rst
Instead of having a function to check if ACPI is enabled
(acpi_ghes_present), change its logic to be more generic,
returing a pointed to AcpiGhesState.
Such change allows cleanup the ghes GED state code, avoiding
to read it multiple times, and simplifying the code.
Signed-off-by: Mauro Carvalho
Store HEST table address at GPA, placing its the start of the table at
hest_addr_le variable.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 20 +++-
include/hw/acpi/ghes.h | 7 ++-
2 files
Create a new property (x-has-hest-addr) and use it to detect if
the GHES table offsets can be calculated from the HEST address
(qemu 10.0 and upper) or via the legacy way via an offset obtained
from the hardware_errors firmware file.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan
The GHES migration logic should now support HEST table location too.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/generic_event_device.c | 29 +
1 file changed, 29 insertions(+)
diff --git a/hw/acpi
Now that we have everything in place, enable using HEST GPA
instead of etc/hardware_errors GPA.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/generic_event_device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/acpi/generic_event_device.c b/hw/acpi
Such file will be used to track HEST table changes.
For now, disallow HEST table check until we update it to the
current data.
Signed-off-by: Mauro Carvalho Chehab
---
tests/data/acpi/aarch64/virt/HEST | 0
tests/qtest/bios-tables-test-allowed-diff.h | 1 +
2 files changed, 1
Currently, aarch64 can generate a HEST table when loaded with
-machine ras=on. Add support for it.
Signed-off-by: Mauro Carvalho Chehab
---
tests/qtest/bios-tables-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables
Read Ack Write : 0001
+
+Raw Table Data: Length 224 (0xE0)
+
Signed-off-by: Mauro Carvalho Chehab
---
tests/data/acpi/aarch64/virt/HEST | Bin 132 -> 224 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/tests/data/acpi/aarch64/virt/HEST
block structures.
Yet, keep the old code, as this is needed for migration purposes
from older QEMU versions.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 100 +
include/hw/acpi/ghes.h | 2 +-
2 files
Name (_UID, Zero) // _UID: Unique ID
}
+
+Device (GEDD)
+{
+Name (_HID, "PNP0C33" /* Error Device */) // _HID: Hardware ID
+Name (_UID, Zero) // _UID: Unique ID
+}
}
}
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jon
We'll be adding a new GED device for HEST GPIO notification and
increasing the number of entries at the HEST table.
Blocklist testing HEST and DSDT tables until such changes
are completed.
Signed-off-by: Mauro Carvalho Chehab
---
tests/qtest/bios-tables-test-allowed-diff.h | 6 ++
1
replicates what OSPM does.
As the next patches will be adding a more generic logic, add a
new use_hest_addr, set to false, in preparation for such changes.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c | 39 ---
hw/arm/virt-acpi-build.c
Adds support to ARM virtualization to allow handling
generic error ACPI Event via GED & error source device.
It is aligned with Linux Kernel patch:
https://lore.kernel.org/lkml/1272350481-27951-8-git-send-email-ying.hu...@intel.com/
Co-authored-by: Mauro Carvalho Chehab
Co-authored-by: Jona
arget happy.
(two patches: first one whitelisting such tables; second one removing from
whitelist and updating/adding such tables to tests/data/acpi)
Mauro Carvalho Chehab (21):
tests/acpi: virt: add an empty HEST file
tests/qtest/bios-tables-test: extend to also check HEST table
tests
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
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 5 -
include/hw/acpi/ghes.h | 3 +++
2 files
Em Thu, 27 Feb 2025 12:03:40 +0100
Mauro Carvalho Chehab escreveu:
> Instead of having a function to check if ACPI is enabled
> (acpi_ghes_present), change its logic to be more generic,
> returing a pointed to AcpiGhesState.
>
> Such change allows cleanup the ghes GED state code
Em Wed, 26 Feb 2025 15:37:14 +0100
Igor Mammedov escreveu:
> On Fri, 21 Feb 2025 15:35:10 +0100
> Mauro Carvalho Chehab wrote:
>
> > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> > index 3ac8f8e17861..8ab8d11b6536 100644
> > --- a/hw/arm/virt-ac
om
whitelist and updating/adding such tables to tests/data/acpi)
Mauro Carvalho Chehab (19):
tests/acpi: virt: add an empty HEST file
tests/qtest/bios-tables-test: extend to also check HEST table
tests/acpi: virt: update HEST file with its current data
acpi/ghes: Cleanup the code whic
Such file will be used to track HEST table changes.
For now, disallow HEST table check until we update it to the
current data.
Signed-off-by: Mauro Carvalho Chehab
Acked-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
tests/data/acpi/aarch64/virt/HEST | 0
tests/qtest/bios
Now that HEST table is checked for aarch64, add the current
firmware file.
Signed-off-by: Mauro Carvalho Chehab
Acked-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
tests/data/acpi/aarch64/virt/HEST | Bin 0 -> 132 bytes
tests/qtest/bios-tables-test-allowed-diff.h | 1 -
the same time, change the logic to be more flexible,
allowing the number of sources to be defined when building the
HEST table by the caller.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 39
block structures.
Yet, keep the old code, as this is needed for migration purposes
from older QEMU versions.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 100 +
include/hw/acpi
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
Reviewed-by: Jonathan Cameron
Acked-by: Igor Mammedov
---
hw/acpi/ghes.c | 5 -
include/hw
Now that we have everything in place, enable using HEST GPA
instead of etc/hardware_errors GPA.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/generic_event_device.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a
Currently, aarch64 can generate a HEST table when loaded with
-machine ras=on. Add support for it.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
tests/qtest/bios-tables-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
replicates what OSPM does.
As the next patches will be adding a more generic logic, add a
new use_hest_addr, set to false, in preparation for such changes.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 39
While the HEST layout didn't change, there are some internal
changes related to how offsets are calculated and how memory error
events are triggered.
Update specs to reflect such changes.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
Store HEST table address at GPA, placing its the start of the table at
hest_addr_le variable.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
Reviewed-by: Igor Mammedov
---
hw/acpi/ghes.c | 22 --
include/hw/acpi/ghes.h | 6 +-
2 files
Adds support to ARM virtualization to allow handling
generic error ACPI Event via GED & error source device.
It is aligned with Linux Kernel patch:
https://lore.kernel.org/lkml/1272350481-27951-8-git-send-email-ying.hu...@intel.com/
Co-authored-by: Mauro Carvalho Chehab
Co-authored-by: Jona
401 - 500 of 563 matches
Mail list logo