mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 02:24:58 -06:00
s390x: Info skeys sub-command
Provide an info skeys hmp sub-command to allow the end user to dump a storage key for a given address. This is useful for guest operating system developers. Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Jason J. Herne <jjherne@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
This commit is contained in:
parent
a4538a5cc5
commit
a08f0081c9
4 changed files with 36 additions and 0 deletions
|
@ -66,6 +66,29 @@ static void write_keys(QEMUFile *f, uint8_t *keys, uint64_t startgfn,
|
|||
}
|
||||
}
|
||||
|
||||
void hmp_info_skeys(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
S390SKeysState *ss = s390_get_skeys_device();
|
||||
S390SKeysClass *skeyclass = S390_SKEYS_GET_CLASS(ss);
|
||||
uint64_t addr = qdict_get_int(qdict, "addr");
|
||||
uint8_t key;
|
||||
int r;
|
||||
|
||||
/* Quick check to see if guest is using storage keys*/
|
||||
if (!skeyclass->skeys_enabled(ss)) {
|
||||
monitor_printf(mon, "Error: This guest is not using storage keys\n");
|
||||
return;
|
||||
}
|
||||
|
||||
r = skeyclass->get_skeys(ss, addr / TARGET_PAGE_SIZE, 1, &key);
|
||||
if (r < 0) {
|
||||
monitor_printf(mon, "Error: %s\n", strerror(-r));
|
||||
return;
|
||||
}
|
||||
|
||||
monitor_printf(mon, " key: 0x%X\n", key);
|
||||
}
|
||||
|
||||
void hmp_dump_skeys(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
const char *filename = qdict_get_str(qdict, "filename");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue