[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 5/8] s390x: Dump-skeys hmp support
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PATCH v3 5/8] s390x: Dump-skeys hmp support |
Date: |
Mon, 31 Aug 2015 13:00:31 +0200 |
From: "Jason J. Herne" <address@hidden>
Add dump-skeys command to the human monitor.
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Signed-off-by: Jason J. Herne <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hmp-commands.hx | 16 ++++++++++++++++
hw/s390x/s390-skeys.c | 12 ++++++++++++
include/hw/s390x/storage-keys.h | 2 ++
monitor.c | 4 ++++
4 files changed, 34 insertions(+)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index d3b7932..803ff91 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1053,6 +1053,22 @@ gdb. Without -z|-l|-s, the dump format is ELF.
together with begin.
ETEXI
+#if defined(TARGET_S390X)
+ {
+ .name = "dump-skeys",
+ .args_type = "filename:F",
+ .params = "",
+ .help = "Save guest storage keys into file 'filename'.\n",
+ .mhandler.cmd = hmp_dump_skeys,
+ },
+#endif
+
+STEXI
address@hidden dump-skeys @var{filename}
address@hidden dump-skeys
+Save guest storage keys to a file.
+ETEXI
+
{
.name = "snapshot_blkdev",
.args_type = "reuse:-n,device:B,snapshot-file:s?,format:s?",
diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
index ea5297d..0ef3aea 100644
--- a/hw/s390x/s390-skeys.c
+++ b/hw/s390x/s390-skeys.c
@@ -65,6 +65,18 @@ static void write_keys(QEMUFile *f, uint8_t *keys, uint64_t
startgfn,
}
}
+void hmp_dump_skeys(Monitor *mon, const QDict *qdict)
+{
+ const char *filename = qdict_get_str(qdict, "filename");
+ Error *err = NULL;
+
+ qmp_dump_skeys(filename, &err);
+ if (err) {
+ monitor_printf(mon, "%s\n", error_get_pretty(err));
+ error_free(err);
+ }
+}
+
void qmp_dump_skeys(const char *filename, Error **errp)
{
S390SKeysState *ss = s390_get_skeys_device();
diff --git a/include/hw/s390x/storage-keys.h b/include/hw/s390x/storage-keys.h
index cfd7da7..0d04f19 100644
--- a/include/hw/s390x/storage-keys.h
+++ b/include/hw/s390x/storage-keys.h
@@ -13,6 +13,7 @@
#define __S390_STORAGE_KEYS_H
#include <hw/qdev.h>
+#include "monitor/monitor.h"
#define TYPE_S390_SKEYS "s390-skeys"
#define S390_SKEYS(obj) \
@@ -52,4 +53,5 @@ void s390_skeys_init(void);
S390SKeysState *s390_get_skeys_device(void);
+void hmp_dump_skeys(Monitor *mon, const QDict *qdict);
#endif /* __S390_STORAGE_KEYS_H */
diff --git a/monitor.c b/monitor.c
index daa3d98..3deba38 100644
--- a/monitor.c
+++ b/monitor.c
@@ -82,6 +82,10 @@
#endif
#include "hw/lm32/lm32_pic.h"
+#if defined(TARGET_S390X)
+#include "hw/s390x/storage-keys.h"
+#endif
+
/*
* Supported types:
*
--
2.5.1
- [Qemu-devel] [PATCH v3 0/8] s390x: storage key migration, Cornelia Huck, 2015/08/31
- [Qemu-devel] [PATCH v3 6/8] s390x: Info skeys sub-command, Cornelia Huck, 2015/08/31
- [Qemu-devel] [PATCH v3 4/8] s390x: Dump storage keys qmp command, Cornelia Huck, 2015/08/31
- [Qemu-devel] [PATCH v3 5/8] s390x: Dump-skeys hmp support,
Cornelia Huck <=
- [Qemu-devel] [PATCH v3 8/8] s390x: Disable storage key migration on old machine type, Cornelia Huck, 2015/08/31
- [Qemu-devel] [PATCH v3 2/8] s390x: Create QOM device for s390 storage keys, Cornelia Huck, 2015/08/31
- [Qemu-devel] [PATCH v3 7/8] s390x: Migrate guest storage keys (initial memory only), Cornelia Huck, 2015/08/31
- [Qemu-devel] [PATCH v3 1/8] s390x: add 2.5 compat s390-ccw-virtio machine, Cornelia Huck, 2015/08/31
- [Qemu-devel] [PATCH v3 3/8] s390x: Enable new s390-storage-keys device, Cornelia Huck, 2015/08/31