Message ID | e0a95da158091e77642eaad9cdbbd7377d257980.1738137123.git.mchehab+huawei@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2,01/13] acpi/ghes: Prepare to support multiple sources on ghes | expand |
On Wed, 29 Jan 2025 09:04:11 +0100 Mauro Carvalho Chehab <mchehab+huawei@kernel.org> wrote: > The GHES migration logic at GED should now support HEST table ^^ typo?? Should've it been 'as'? > location too. > > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > 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 > index c85d97ca3776..5346cae573b7 100644 > --- a/hw/acpi/generic_event_device.c > +++ b/hw/acpi/generic_event_device.c > @@ -386,6 +386,34 @@ static const VMStateDescription vmstate_ghes_state = { > } > }; > > +static const VMStateDescription vmstate_hest = { > + .name = "acpi-hest", > + .version_id = 1, > + .minimum_version_id = 1, > + .fields = (const VMStateField[]) { > + VMSTATE_UINT64(hest_addr_le, AcpiGhesState), > + VMSTATE_END_OF_LIST() > + }, > +}; > + > +static bool hest_needed(void *opaque) > +{ > + AcpiGedState *s = opaque; > + return s->ghes_state.hest_addr_le; > +} > + > +static const VMStateDescription vmstate_hest_state = { > + .name = "acpi-ged/hest", > + .version_id = 1, > + .minimum_version_id = 1, > + .needed = hest_needed, > + .fields = (const VMStateField[]) { > + VMSTATE_STRUCT(ghes_state, AcpiGedState, 1, > + vmstate_hest, AcpiGhesState), > + VMSTATE_END_OF_LIST() > + } > +}; > + > static const VMStateDescription vmstate_acpi_ged = { > .name = "acpi-ged", > .version_id = 1, > @@ -398,6 +426,7 @@ static const VMStateDescription vmstate_acpi_ged = { > &vmstate_memhp_state, > &vmstate_cpuhp_state, > &vmstate_ghes_state, > + &vmstate_hest_state, > NULL > } > };
diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index c85d97ca3776..5346cae573b7 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -386,6 +386,34 @@ static const VMStateDescription vmstate_ghes_state = { } }; +static const VMStateDescription vmstate_hest = { + .name = "acpi-hest", + .version_id = 1, + .minimum_version_id = 1, + .fields = (const VMStateField[]) { + VMSTATE_UINT64(hest_addr_le, AcpiGhesState), + VMSTATE_END_OF_LIST() + }, +}; + +static bool hest_needed(void *opaque) +{ + AcpiGedState *s = opaque; + return s->ghes_state.hest_addr_le; +} + +static const VMStateDescription vmstate_hest_state = { + .name = "acpi-ged/hest", + .version_id = 1, + .minimum_version_id = 1, + .needed = hest_needed, + .fields = (const VMStateField[]) { + VMSTATE_STRUCT(ghes_state, AcpiGedState, 1, + vmstate_hest, AcpiGhesState), + VMSTATE_END_OF_LIST() + } +}; + static const VMStateDescription vmstate_acpi_ged = { .name = "acpi-ged", .version_id = 1, @@ -398,6 +426,7 @@ static const VMStateDescription vmstate_acpi_ged = { &vmstate_memhp_state, &vmstate_cpuhp_state, &vmstate_ghes_state, + &vmstate_hest_state, NULL } };