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.bobr...@au1.ibm.com> --- hw/ppc/spapr_rtas.c | 4 ++++ include/hw/ppc/spapr.h | 1 + 2 files changed, 5 insertions(+) diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c index d3b57a1..9804873 100644 --- a/hw/ppc/spapr_rtas.c +++ b/hw/ppc/spapr_rtas.c @@ -242,6 +242,9 @@ static void rtas_ibm_get_system_parameter(PowerPCCPU *cpu, rtas_st_buffer(buffer, length, ¶m_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; } @@ -260,6 +263,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 9b28e96..fe02fb4 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -360,6 +360,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. -- 1.9.0