79c4324644
Change-Id: I2d302dda68298877c65c99147f5bf22186a59aac
51 lines
1.5 KiB
Diff
51 lines
1.5 KiB
Diff
From 67a8e57c784ccbce4989c39dd44c70ae7f5aeda4 Mon Sep 17 00:00:00 2001
|
|
From: jianchunfu <jianchunfu_yewu@cmss.chinamobile.com>
|
|
Date: Thu, 4 Aug 2022 15:37:47 +0800
|
|
Subject: [PATCH 5/9] target/ppc: add error report when fopen fails in
|
|
kvmppc_read_int_dt()
|
|
|
|
Use an Error pointer to report the error back to the caller.
|
|
While we're at it, return '0' instead of '-1' on error since the
|
|
function is supposed to return an uint64_t.
|
|
|
|
Signed-off-by: jianchunfu <jianchunfu_yewu@cmss.chinamobile.com>
|
|
---
|
|
target/ppc/kvm.c | 7 ++++---
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
|
|
index dc93b99189..63382256c3 100644
|
|
--- a/target/ppc/kvm.c
|
|
+++ b/target/ppc/kvm.c
|
|
@@ -1895,7 +1895,7 @@ static int kvmppc_find_cpu_dt(char *buf, int buf_len)
|
|
return 0;
|
|
}
|
|
|
|
-static uint64_t kvmppc_read_int_dt(const char *filename)
|
|
+static uint64_t kvmppc_read_int_dt(const char *filename, Error **errp)
|
|
{
|
|
union {
|
|
uint32_t v32;
|
|
@@ -1906,7 +1906,8 @@ static uint64_t kvmppc_read_int_dt(const char *filename)
|
|
|
|
f = fopen(filename, "rb");
|
|
if (!f) {
|
|
- return -1;
|
|
+ error_setg_errno(errp, errno, "error opening %s", filename);
|
|
+ return 0;
|
|
}
|
|
|
|
len = fread(&u, 1, sizeof(u), f);
|
|
@@ -1937,7 +1938,7 @@ static uint64_t kvmppc_read_int_cpu_dt(const char *propname)
|
|
}
|
|
|
|
tmp = g_strdup_printf("%s/%s", buf, propname);
|
|
- val = kvmppc_read_int_dt(tmp);
|
|
+ val = kvmppc_read_int_dt(tmp, NULL);
|
|
g_free(tmp);
|
|
|
|
return val;
|
|
--
|
|
2.27.0
|
|
|