Instead, produce an error and continue working
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c
index 3af1cd16d4d7..209095f67e9a 100644
--- a/hw/acpi/ghes.c
+++ b/hw/acpi/ghes.c
HEST source ID is actually a 16-bit value
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes-stub.c| 2 +-
hw/acpi/ghes.c | 2 +-
include/hw/acpi/ghes.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/acpi/ghes-stub.c b/hw/acpi/ghes-stub.c
index
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
---
hw/acpi/ghes.c | 118 +
include/hw/acpi/ghes.h | 3 ++
2 files changed, 74
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
---
hw/acpi/ghes.c | 65
hw/arm/virt-acpi-build.c | 5
include/hw/acpi/ghes.h
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
---
hw/acpi/ghes.c | 4 +---
1 file changed, 1 insertion(+), 3
more generic.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab
---
Changes from v10:
- Removed the logic which associates notification and source
ID. This will be placed on a separate patch.
Changes from v8:
- Non-rename/cleanup changes merged altogether;
- source ID is now more ge
The first argument is source ID and not notification type.
Signed-off-by: Mauro Carvalho Chehab
---
Changes from v8:
- Non-rename/cleanup changes merged altogether;
- source ID is now more generic, defined per guest target.
That should make easier to add support for 86.
Signed-off-by: Mauro
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.
Reviewed-by: Igor Mammedov
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c | 32 +++-
1 file
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
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes-stub.c| 2 +-
hw/acpi/ghes.c | 2 +-
include/hw/acpi
, 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
---
hw/acpi/ghes.c | 52 +++---
1 file changed, 32
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
Acked-by: Igor Mammedov
---
docs/specs/acpi_hest_ghes.rst | 6
implemented hardware report mechanisms.
Cleanup the logic to fill those, as they should be handled
independently.
This is a preparation for a future patch that will shift
those fields to the HEST init function call.
Signed-off-by: Mauro Carvalho Chehab
---
Chenges from v10:
- Some changes got moved
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
---
hw/acpi/ghes.c | 56 ++
1 file changed, 29 insertions(+), 27 deletions(-)
diff
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
---
hw/acpi/generic_event_device.c | 4 ++--
hw/acpi/ghes.c
Em Tue, 17 Sep 2024 14:15:19 +0200
Igor Mammedov escreveu:
> I'm done with this round of review.
>
> Given that the series accumulated a bunch of cleanups,
> I'd suggest to move all cleanups/renamings not related
> to new HEST lookup and new src id mapping to the beginning
> of the series, so on
Em Thu, 26 Sep 2024 13:00:56 +0100
Jonathan Cameron escreveu:
> On Wed, 25 Sep 2024 06:04:14 +0200
> Mauro Carvalho Chehab wrote:
>
> > Split the code into separate functions to allow using the
> > common CPER filling code by different error sources.
> >
> &
Em Thu, 26 Sep 2024 13:09:09 +0100
Jonathan Cameron escreveu:
> On Wed, 25 Sep 2024 06:04:17 +0200
> Mauro Carvalho Chehab wrote:
>
> > Instead, produce an error and continue working
> >
> > Signed-off-by: Mauro Carvalho Chehab
> Make sense as defense in depth
Em Tue, 24 Sep 2024 15:14:29 +0200
Igor Mammedov escreveu:
> > 1) preparation patches:
...
> > 69850f550f99 acpi/generic_event_device: add an APEI error device
> this one doesn't belong to clean ups, I think.
> Lets move this to #3 part
Ok.
> > The migration logic will require some time, and
Em Tue, 17 Sep 2024 14:01:46 +0200
Igor Mammedov escreveu:
> > @@ -354,13 +355,13 @@ static const VMStateDescription vmstate_ghes = {
> > static bool ghes_needed(void *opaque)
> > {
> > AcpiGedState *s = opaque;
> > -return s->ghes_state.ghes_addr_le;
> ^^
The GHES migration logic at GED should now support HEST table
location too.
Increase migration version and change needed to check for both
ghes_addr_le and hest_addr_le.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/generic_event_device.c | 29 +
1 file changed
A virt-9.1 machine can have only one source ID.
Signed-off-by: Mauro Carvalho Chehab
---
hw/arm/virt-acpi-build.c | 30 ++
1 file changed, 26 insertions(+), 4 deletions(-)
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 476c365851c4
the type of
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 | 93 --
1 file changed, 83 insertions(+), 10 deletions(-)
diff --git a/hw/acpi
Invalid argument
Yet, running virt-9.1 used the old math code (offsets from hardware_errors
firmware
file) while running virt-9.2 executed the new math code using HEST address.
Mauro Carvalho Chehab (5):
acpi/ghes: add a firmware file with HEST address
acpi/ghes: Use HEST table offsets when
Store HEST table address at GPA, placing its content at
hest_addr_le variable.
Signed-off-by: Mauro Carvalho Chehab
---
Change from v8:
- hest_addr_lr is now pointing to the error source size and data.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c | 15
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
Em Wed, 25 Sep 2024 15:23:33 +0100
Jonathan Cameron escreveu:
> On Wed, 25 Sep 2024 06:04:13 +0200
> Mauro Carvalho Chehab wrote:
>
> > The current code is actually dependent on having just one
> > error structure with a single source.
> >
> > As the number of
Em Tue, 17 Sep 2024 13:59:34 +0200
Igor Mammedov escreveu:
> On Sat, 14 Sep 2024 08:13:28 +0200
> Mauro Carvalho Chehab wrote:
>
> > The current logic is based on a lot of duct tape, with
> > offsets calculated based on one define with the number of
> > source IDs an
Em Thu, 26 Sep 2024 13:12:25 +0100
Jonathan Cameron escreveu:
> On Wed, 25 Sep 2024 06:04:19 +0200
> Mauro Carvalho Chehab wrote:
>
> > The hardware error firmware is where HEST error structures are
> > stored. Those can be GHESv2, but they can also be other types.
>
implemented hardware report mechanisms.
Cleanup the logic to fill those, as they should be handled
independently.
This is a preparation for a future patch that will shift
those fields to the HEST init function call.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
Chenges from
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
---
hw/acpi/ghes.c | 118 +
include/hw/acpi/ghes.h | 3 ++
2 files changed, 74
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
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 | 32
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
more generic.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
Changes from v10:
- Removed the logic which associates notification and source
ID. This will be placed on a separate patch.
Changes from v8:
- Non-rename/cleanup changes merged altog
ended renaming a parameter.
Mauro Carvalho Chehab (15):
acpi/ghes: get rid of ACPI_HEST_SRC_ID_RESERVED
acpi/ghes: simplify acpi_ghes_record_errors() code
acpi/ghes: simplify the per-arch caller to build HEST table
acpi/ghes: better handle source_id and notification
acpi/ghes
Instead, produce an error and continue working
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c
index 3af1cd16d4d7..209095f67e9a 100644
--- a/hw/acpi/ghes.c
+++ b/hw/acpi/ghes.c
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
---
hw/acpi
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 | 65
hw/arm/virt-acpi-build.c | 5
inclu
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
---
Changes from v8:
- Non-rename/cleanup changes merged altogether;
- source ID is now more
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
Em Thu, 26 Sep 2024 13:03:48 +0100
Jonathan Cameron escreveu:
> On Wed, 25 Sep 2024 06:04:15 +0200
> Mauro Carvalho Chehab wrote:
>
> > Currently, CPER address location is calculated as an offset of
> > the hardware_errors table. It is also badly named, as the
> >
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
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes-stub.c| 2 +-
hw/acpi/ghes.c | 2 +-
include/hw/acpi
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
Acked-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
docs
HEST source ID is actually a 16-bit value
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes-stub.c| 2 +-
hw/acpi/ghes.c | 2 +-
include/hw/acpi/ghes.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/acpi/ghes-stub.c b/hw
, 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 | 50
Em Mon, 16 Sep 2024 13:05:06 +0200
Igor Mammedov escreveu:
> > But no idea how to start a machine using a saved state.
>
> see https://www.linux-kvm.org/page/Migration
> 'savevm/loadvm to an external state file (using pseudo-migration)' section
>
It didn't work. Is migration currently workin
Em Tue, 17 Sep 2024 11:22:31 -0400
Peter Xu escreveu:
> On Tue, Sep 17, 2024 at 11:19:21AM +0200, Igor Mammedov wrote:
> > On Sat, 14 Sep 2024 08:13:23 +0200
> > Mauro Carvalho Chehab wrote:
> >
> > what I would do:
> > add ghes_needed_v2(): r
Em Wed, 20 Nov 2024 14:33:08 +
Jonathan Cameron escreveu:
> On Wed, 13 Nov 2024 09:37:00 +0100
> Mauro Carvalho Chehab wrote:
>
> > Rename: get_ghes_offsets->get_hw_error_offsets
> > to make clear that this function return offsets based on the
> > hardware e
, 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 | 41
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
caller function to fill both.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
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, defined per guest target
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
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 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
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
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
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
Em Wed, 20 Nov 2024 14:18:38 +
Jonathan Cameron escreveu:
> On Tue, 12 Nov 2024 11:14:52 +0100
> Mauro Carvalho Chehab wrote:
>
> > Split the code into separate functions to allow using the
> > common CPER filling code by different error sources.
> >
> &
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 (15):
acpi/ghes
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
---
hw/acpi/ghes
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
Acked-by: Igor Mammedov
Reviewed-by: Jonathan Cameron
---
docs
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
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
---
hw/acpi/ghes.c | 131
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
---
hw/acpi/ghes.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/hw
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
Em Wed, 20 Nov 2024 14:59:30 +
Jonathan Cameron escreveu:
> On Wed, 13 Nov 2024 09:37:01 +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 Wed, 20 Nov 2024 15:01:19 +
Jonathan Cameron escreveu:
> On Wed, 13 Nov 2024 09:37:02 +0100
> Mauro Carvalho Chehab wrote:
>
> > The GHES migration logic at GED should now support HEST table
> > location too.
> >
> > Increase migration version an
Em Fri, 22 Nov 2024 17:19:44 +0100
Igor Mammedov escreveu:
> > +
> > +if (!physical_address) {
> > +error_report("can not find Generic Error Status Block for source
> > id %d",
> > + source_id);
>
> isn't it a copy paste error from somewhere, perhaps it's mixed
Em Tue, 3 Dec 2024 12:42:32 +0100
Igor Mammedov escreveu:
> > +/*
> > + * Clear the Read Ack Register, OSPM will write it to 1 when
> ^ typo?
> > + * it acknowledges this error.
> > + */
Yes. I'll add this hunk there:
Em Tue, 3 Dec 2024 12:51:43 +0100
Igor Mammedov escreveu:
> On Fri, 22 Nov 2024 10:11:30 +0100
> Mauro Carvalho Chehab wrote:
>
> > Currently, CPER address location is calculated as an offset of
> > the hardware_errors table. It is also badly named, as the
> >
Em Tue, 3 Dec 2024 13:03:10 +0100
Igor Mammedov escreveu:
> On Fri, 22 Nov 2024 14:14:10 +0100
> Mauro Carvalho Chehab wrote:
>
> > This series was part of the previous PR to add generic error injection
> > support on GHES. It depends on a cleanup patch series s
Em Thu, 5 Dec 2024 10:22:19 +0100
Igor Mammedov escreveu:
> On Thu, 5 Dec 2024 08:59:59 +0100
> Mauro Carvalho Chehab wrote:
>
> > Em Wed, 4 Dec 2024 17:37:59 +0100
> > Igor Mammedov escreveu:
> >
> > > On Wed, 4 Dec 2024 08:41:21 +010
Em Wed, 4 Dec 2024 17:40:25 +0100
Igor Mammedov escreveu:
> On Wed, 4 Dec 2024 08:41:18 +0100
> Mauro Carvalho Chehab wrote:
>
> > 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
Em Wed, 4 Dec 2024 17:37:59 +0100
Igor Mammedov escreveu:
> On Wed, 4 Dec 2024 08:41:21 +0100
> Mauro Carvalho Chehab wrote:
>
> > The hardware error firmware is where HEST error structures are
> ^^^ I can't parse this, suspect you've
Em Wed, 4 Dec 2024 08:54:40 +0100
Igor Mammedov escreveu:
> On Tue, 3 Dec 2024 14:47:30 +0100
> Mauro Carvalho Chehab wrote:
>
> > Em Tue, 3 Dec 2024 12:51:43 +0100
> > Igor Mammedov escreveu:
> >
> > > On Fri, 22 Nov 2024 10:11:30 +010
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
Reviewed-by: Jonathan
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
The GHES migration logic at GED should now support HEST table
location too.
Signed-off-by: Mauro Carvalho Chehab
Reviewed-by: Jonathan Cameron
---
hw/acpi/generic_event_device.c | 29 +
1 file changed, 29 insertions(+)
diff --git a/hw/acpi/generic_event_device.c b
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.
Signed-off-by: Mauro Carvalho Chehab
---
hw/acpi/ghes.c
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
Reviewed-by: Jonathan Cameron
---
hw/acpi/ghes.c | 106 -
1 file changed, 96 insertions(+), 10
p tp_printk maxcpus=4'
---
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.
Mauro Carvalho Chehab (5):
acp
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
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
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
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
# Conflicts:
# roms/edk2
---
hw/acpi/ghes.c
, 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
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
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 '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
---
hw/acpi/ghes.c | 4
1 file changed, 4 deletions(-)
diff --git a/hw/acpi/ghes.c b/hw/acpi/ghes.c
index edc74c38bf8a..a3
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
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
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
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
l.org/
v2:
- some indentation fixes;
- some description improvements;
- fixed a badly-solved merge conflict that ended renaming a parameter.
Mauro Carvalho Chehab (16):
acpi/ghes: get rid of ACPI_HEST_SRC_ID_RESERVED
acpi/ghes: simplify acpi_ghes_record_errors() code
acpi/ghes: simplify th
Em Mon, 25 Nov 2024 11:56:43 +
Jonathan Cameron escreveu:
> On Fri, 22 Nov 2024 10:11:25 +0100
> Mauro Carvalho Chehab wrote:
>
> > Split the code into separate functions to allow using the
> > common CPER filling code by different error sources.
> >
> &
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 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
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
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
Em Mon, 9 Dec 2024 11:36:40 +
Jonathan Cameron escreveu:
> On Sat, 7 Dec 2024 09:54:14 +0100
> Mauro Carvalho Chehab wrote:
>
> > The 'physical_address' value is a faulty page. As such, 0 is
> > as valid as any other value.
> Still not sure on wha
201 - 300 of 563 matches
Mail list logo