summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam bobroff <sam.bobroff@au1.ibm.com>2014-06-25 13:54:31 +1000
committerAlexander Graf <agraf@suse.de>2014-06-27 13:48:26 +0200
commitb907d7b0fdc8b2bbb93a37ac4b5c68a44f22e8ac (patch)
tree7179960c213829716f0bdb674a3b5035e08ff6b5
parent3052d9519000739ec25224ed1ca7498b7ff66d77 (diff)
downloadqemu-b907d7b0fdc8b2bbb93a37ac4b5c68a44f22e8ac.tar.gz
spapr: Add RTAS sysparm UUID
Add support for the UUID parameter to the emulated RTAS call ibm,get-system-parameter. Return the guest's UUID as the value for the RTAS UUID system parameter, or null (a zero length result) if it is not set. Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--hw/ppc/spapr_rtas.c4
-rw-r--r--include/hw/ppc/spapr.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c
index ac9a8601ea..dba4e2b20b 100644
--- a/hw/ppc/spapr_rtas.c
+++ b/hw/ppc/spapr_rtas.c
@@ -240,6 +240,9 @@ static void rtas_ibm_get_system_parameter(PowerPCCPU *cpu,
rtas_st_buffer(buffer, length, &param_val, sizeof(param_val));
break;
}
+ case RTAS_SYSPARM_UUID:
+ rtas_st_buffer(buffer, length, qemu_uuid, (qemu_uuid_set ? 16 : 0));
+ break;
default:
ret = RTAS_OUT_NOT_SUPPORTED;
}
@@ -258,6 +261,7 @@ static void rtas_ibm_set_system_parameter(PowerPCCPU *cpu,
switch (parameter) {
case RTAS_SYSPARM_DIAGNOSTICS_RUN_MODE:
+ case RTAS_SYSPARM_UUID:
ret = RTAS_OUT_NOT_AUTHORIZED;
break;
}
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index d043771616..46b7a71734 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -399,6 +399,7 @@ static inline int spapr_allocate_lsi(int hint)
/* RTAS ibm,get-system-parameter token values */
#define RTAS_SYSPARM_DIAGNOSTICS_RUN_MODE 42
+#define RTAS_SYSPARM_UUID 48
/* Possible values for the platform-processor-diagnostics-run-mode parameter
* of the RTAS ibm,get-system-parameter call.