hw/s390x/skeys: Introduce TYPE_DUMP_SKEYS_INTERFACE

The storage keys are part of the machine memory.

Introduce the TYPE_DUMP_SKEYS_INTERFACE type,
allowing machine using storage keys to dump them
when a DumpSKeysInterface::qmp_dump_skeys() callback
is provided.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20250310151414.11550-3-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé
2025-04-23 07:51:25 +02:00
committed by Thomas Huth
parent 4b91f6d16d
commit 3f979fe13e
2 changed files with 20 additions and 0 deletions
+5
View File
@@ -474,6 +474,11 @@ static void s390_skeys_class_init(ObjectClass *oc, void *data)
}
static const TypeInfo s390_skeys_types[] = {
{
.name = TYPE_DUMP_SKEYS_INTERFACE,
.parent = TYPE_INTERFACE,
.class_size = sizeof(DumpSKeysInterface),
},
{
.name = TYPE_S390_SKEYS,
.parent = TYPE_DEVICE,
+15
View File
@@ -125,4 +125,19 @@ S390SKeysState *s390_get_skeys_device(void);
void hmp_dump_skeys(Monitor *mon, const QDict *qdict);
void hmp_info_skeys(Monitor *mon, const QDict *qdict);
#define TYPE_DUMP_SKEYS_INTERFACE "dump-skeys-interface"
typedef struct DumpSKeysInterface DumpSKeysInterface;
DECLARE_CLASS_CHECKERS(DumpSKeysInterface, DUMP_SKEYS_INTERFACE,
TYPE_DUMP_SKEYS_INTERFACE)
struct DumpSKeysInterface {
InterfaceClass parent_class;
/**
* @qmp_dump_skeys: Callback to dump guest's storage keys to @filename.
*/
void (*qmp_dump_skeys)(const char *filename, Error **errp);
};
#endif /* S390_STORAGE_KEYS_H */