[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v1 01/22] s390: use FILE instead of QEMUFile for cre
From: |
Daniel P. Berrange |
Subject: |
[Qemu-devel] [PATCH v1 01/22] s390: use FILE instead of QEMUFile for creating text file |
Date: |
Tue, 12 Jan 2016 11:43:55 +0000 |
The s390 skeys monitor command needs to write out a plain text
file. Currently it is using the QEMUFile class for this. There
is no real benefit to this, and the downside is that it needs to
snprintf via an intermediate buffer. Switching to regular FILE
objects simplifies the code.
Signed-off-by: Daniel P. Berrange <address@hidden>
---
hw/s390x/s390-skeys.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
index 539ef6d..637ccf5 100644
--- a/hw/s390x/s390-skeys.c
+++ b/hw/s390x/s390-skeys.c
@@ -45,15 +45,11 @@ void s390_skeys_init(void)
qdev_init_nofail(DEVICE(obj));
}
-static void write_keys(QEMUFile *f, uint8_t *keys, uint64_t startgfn,
+static void write_keys(FILE *f, uint8_t *keys, uint64_t startgfn,
uint64_t count, Error **errp)
{
uint64_t curpage = startgfn;
uint64_t maxpage = curpage + count - 1;
- const char *fmt = "page=%03" PRIx64 ": key(%d) => ACC=%X, FP=%d, REF=%d,"
- " ch=%d, reserved=%d\n";
- char buf[128];
- int len;
for (; curpage <= maxpage; curpage++) {
uint8_t acc = (*keys & 0xF0) >> 4;
@@ -62,10 +58,9 @@ static void write_keys(QEMUFile *f, uint8_t *keys, uint64_t
startgfn,
int ch = (*keys & 0x02);
int res = (*keys & 0x01);
- len = snprintf(buf, sizeof(buf), fmt, curpage,
- *keys, acc, fp, ref, ch, res);
- assert(len < sizeof(buf));
- qemu_put_buffer(f, (uint8_t *)buf, len);
+ fprintf(f, "page=%03" PRIx64 ": key(%d) => ACC=%X, FP=%d, REF=%d,"
+ " ch=%d, reserved=%d\n",
+ curpage, *keys, acc, fp, ref, ch, res);
keys++;
}
}
@@ -115,7 +110,7 @@ void qmp_dump_skeys(const char *filename, Error **errp)
vaddr cur_gfn = 0;
uint8_t *buf;
int ret;
- QEMUFile *f;
+ FILE *f;
/* Quick check to see if guest is using storage keys*/
if (!skeyclass->skeys_enabled(ss)) {
@@ -124,7 +119,7 @@ void qmp_dump_skeys(const char *filename, Error **errp)
return;
}
- f = qemu_fopen(filename, "wb");
+ f = fopen(filename, "wb");
if (!f) {
error_setg_file_open(errp, errno, filename);
return;
@@ -161,7 +156,7 @@ out_free:
error_propagate(errp, lerr);
g_free(buf);
out:
- qemu_fclose(f);
+ fclose(f);
}
static void qemu_s390_skeys_init(Object *obj)
--
2.5.0
- [Qemu-devel] [PATCH v1 00/22] Convert migration to QIOChannel & support TLS, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 01/22] s390: use FILE instead of QEMUFile for creating text file,
Daniel P. Berrange <=
- [Qemu-devel] [PATCH v1 02/22] migration: remove use of qemu_bufopen from vmstate tests, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 03/22] migration: ensure qemu_fflush() always writes full data amount, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 04/22] migration: split migration hooks out of QEMUFileOps, Daniel P. Berrange, 2016/01/12
- [Qemu-devel] [PATCH v1 05/22] migration: introduce set_blocking function in QEMUFileOps, Daniel P. Berrange, 2016/01/12