From nobody Thu Apr 25 13:38:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linux.ibm.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1552581999081411.9014701051393; Thu, 14 Mar 2019 09:46:39 -0700 (PDT) Received: from localhost ([127.0.0.1]:41433 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4TV4-0004P5-Rn for importer@patchew.org; Thu, 14 Mar 2019 12:46:34 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38911) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4TPd-0000Qg-RF for qemu-devel@nongnu.org; Thu, 14 Mar 2019 12:41:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4TGI-0005X0-Fy for qemu-devel@nongnu.org; Thu, 14 Mar 2019 12:31:19 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:39626) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4TGH-0005Vj-WB for qemu-devel@nongnu.org; Thu, 14 Mar 2019 12:31:18 -0400 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x2EGTqWI140160 for ; Thu, 14 Mar 2019 12:31:16 -0400 Received: from e34.co.us.ibm.com (e34.co.us.ibm.com [32.97.110.152]) by mx0a-001b2d01.pphosted.com with ESMTP id 2r7rypwj2p-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 14 Mar 2019 12:31:16 -0400 Received: from localhost by e34.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 14 Mar 2019 16:31:15 -0000 Received: from b03cxnp07028.gho.boulder.ibm.com (9.17.130.15) by e34.co.us.ibm.com (192.168.1.134) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Thu, 14 Mar 2019 16:31:13 -0000 Received: from b03ledav005.gho.boulder.ibm.com (b03ledav005.gho.boulder.ibm.com [9.17.130.236]) by b03cxnp07028.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x2EGVCek25755900 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 14 Mar 2019 16:31:12 GMT Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 54AEABE04F; Thu, 14 Mar 2019 16:31:12 +0000 (GMT) Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0C4E7BE05B; Thu, 14 Mar 2019 16:31:11 +0000 (GMT) Received: from maxibm.br.ibm.com (unknown [9.18.235.41]) by b03ledav005.gho.boulder.ibm.com (Postfix) with ESMTP; Thu, 14 Mar 2019 16:31:10 +0000 (GMT) From: "Maxiwell S. Garcia" To: qemu-devel@nongnu.org Date: Thu, 14 Mar 2019 13:29:48 -0300 X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190314162949.29428-1-maxiwell@linux.ibm.com> References: <20190314162949.29428-1-maxiwell@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 x-cbid: 19031416-0016-0000-0000-000009903363 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00010757; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000281; SDB=6.01174303; UDB=6.00614043; IPR=6.00954967; MB=3.00025978; MTD=3.00000008; XFM=3.00000015; UTC=2019-03-14 16:31:15 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19031416-0017-0000-0000-00004272F354 Message-Id: <20190314162949.29428-2-maxiwell@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-03-14_06:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1903140117 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 148.163.156.1 Subject: [Qemu-devel] [PATCH v6 1/2] spapr: helper functions to get valid host fields X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-ppc@nongnu.org, groug@kaod.org, "Maxiwell S. Garcia" , david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" The pseries options 'host-serial' and 'host-model' accepts 'none', 'passthrough', or content. The helper functions in this commit return a valid host field based on user options. Signed-off-by: Maxiwell S. Garcia Reviewed-by: Greg Kurz --- hw/ppc/spapr.c | 48 +++++++++++++++++++++++------------------- include/hw/ppc/spapr.h | 4 ++++ 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 6c16d6cfaf..3e2d5fe438 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1211,6 +1211,24 @@ static void spapr_dt_chosen(SpaprMachineState *spapr= , void *fdt) g_free(bootlist); } =20 +#define SPAPR_GET_VALID_HOST(attr) \ +char *spapr_get_valid_host_##attr(SpaprMachineState *spapr) \ +{ \ + char *buf =3D NULL; \ + if (spapr->host_##attr && \ + !g_str_equal(spapr->host_##attr, "none")) { \ + if (g_str_equal(spapr->host_##attr, "passthrough")) { \ + kvmppc_get_host_##attr(&buf); \ + } else { \ + buf =3D g_strdup(spapr->host_##attr); \ + } \ + } \ + return buf; \ +} + +SPAPR_GET_VALID_HOST(serial); +SPAPR_GET_VALID_HOST(model); + static void spapr_dt_hypervisor(SpaprMachineState *spapr, void *fdt) { /* The /hypervisor node isn't in PAPR - this is a hack to allow PR @@ -1256,30 +1274,16 @@ static void *spapr_build_fdt(SpaprMachineState *spa= pr) * Add info to guest to indentify which host is it being run on * and what is the uuid of the guest */ - if (spapr->host_model && !g_str_equal(spapr->host_model, "none")) { - if (g_str_equal(spapr->host_model, "passthrough")) { - /* -M host-model=3Dpassthrough */ - if (kvmppc_get_host_model(&buf)) { - _FDT(fdt_setprop_string(fdt, 0, "host-model", buf)); - g_free(buf); - } - } else { - /* -M host-model=3D */ - _FDT(fdt_setprop_string(fdt, 0, "host-model", spapr->host_mode= l)); - } + buf =3D spapr_get_valid_host_model(spapr); + if (buf) { + _FDT(fdt_setprop_string(fdt, 0, "host-model", buf)); + g_free(buf); } =20 - if (spapr->host_serial && !g_str_equal(spapr->host_serial, "none")) { - if (g_str_equal(spapr->host_serial, "passthrough")) { - /* -M host-serial=3Dpassthrough */ - if (kvmppc_get_host_serial(&buf)) { - _FDT(fdt_setprop_string(fdt, 0, "host-serial", buf)); - g_free(buf); - } - } else { - /* -M host-serial=3D */ - _FDT(fdt_setprop_string(fdt, 0, "host-serial", spapr->host_ser= ial)); - } + buf =3D spapr_get_valid_host_serial(spapr); + if (buf) { + _FDT(fdt_setprop_string(fdt, 0, "host-serial", buf)); + g_free(buf); } =20 buf =3D qemu_uuid_unparse_strdup(&qemu_uuid); diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 2b4c05a2ec..5e0a1b2a8a 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -856,6 +856,10 @@ int spapr_caps_post_migration(SpaprMachineState *spapr= ); =20 void spapr_check_pagesize(SpaprMachineState *spapr, hwaddr pagesize, Error **errp); + +char *spapr_get_valid_host_serial(SpaprMachineState *spapr); +char *spapr_get_valid_host_model(SpaprMachineState *spapr); + /* * XIVE definitions */ --=20 2.20.1 From nobody Thu Apr 25 13:38:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linux.ibm.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 155258195468527.02875429119638; Thu, 14 Mar 2019 09:45:54 -0700 (PDT) Received: from localhost ([127.0.0.1]:41428 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4TUN-0003qv-J2 for importer@patchew.org; Thu, 14 Mar 2019 12:45:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38898) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4TPd-0000QH-Kj for qemu-devel@nongnu.org; Thu, 14 Mar 2019 12:41:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4TGM-0005a6-9z for qemu-devel@nongnu.org; Thu, 14 Mar 2019 12:31:23 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:48448 helo=mx0a-001b2d01.pphosted.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4TGM-0005Z5-1S for qemu-devel@nongnu.org; Thu, 14 Mar 2019 12:31:22 -0400 Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x2EGTIa9131010 for ; Thu, 14 Mar 2019 12:31:21 -0400 Received: from e31.co.us.ibm.com (e31.co.us.ibm.com [32.97.110.149]) by mx0b-001b2d01.pphosted.com with ESMTP id 2r7sdwkv25-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 14 Mar 2019 12:31:20 -0400 Received: from localhost by e31.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 14 Mar 2019 16:31:20 -0000 Received: from b03cxnp08025.gho.boulder.ibm.com (9.17.130.17) by e31.co.us.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Thu, 14 Mar 2019 16:31:18 -0000 Received: from b03ledav005.gho.boulder.ibm.com (b03ledav005.gho.boulder.ibm.com [9.17.130.236]) by b03cxnp08025.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x2EGVHAA27525194 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 14 Mar 2019 16:31:17 GMT Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id F12E7BE05A; Thu, 14 Mar 2019 16:31:16 +0000 (GMT) Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A3DA8BE04F; Thu, 14 Mar 2019 16:31:15 +0000 (GMT) Received: from maxibm.br.ibm.com (unknown [9.18.235.41]) by b03ledav005.gho.boulder.ibm.com (Postfix) with ESMTP; Thu, 14 Mar 2019 16:31:15 +0000 (GMT) From: "Maxiwell S. Garcia" To: qemu-devel@nongnu.org Date: Thu, 14 Mar 2019 13:29:49 -0300 X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190314162949.29428-1-maxiwell@linux.ibm.com> References: <20190314162949.29428-1-maxiwell@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 x-cbid: 19031416-8235-0000-0000-00000E6CEE40 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00010757; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000281; SDB=6.01174303; UDB=6.00614043; IPR=6.00954967; MB=3.00025978; MTD=3.00000008; XFM=3.00000015; UTC=2019-03-14 16:31:19 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19031416-8236-0000-0000-000044C819A4 Message-Id: <20190314162949.29428-3-maxiwell@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-03-14_06:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=3 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=862 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1903140117 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 148.163.158.5 Subject: [Qemu-devel] [PATCH v6 2/2] spapr-rtas: add ibm, get-vpd RTAS interface X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-ppc@nongnu.org, groug@kaod.org, "Maxiwell S. Garcia" , david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" This adds a handler for ibm,get-vpd RTAS calls, allowing pseries guest to collect host information. It is disabled by default to avoid unwanted information leakage. To enable it, use: -M pseries,host-serial=3D{passthrough|string},host-model=3D{passthrough|str= ing} Only the SE and TM keywords are returned at the moment. SE for Machine or Cabinet Serial Number and TM for Machine Type and Model The SE and TM keywords are controlled by 'host-serial' and 'host-model' options, respectively. In the case of 'passthrough', the SE shows the host 'system-id' information and the TM shows the host 'model' information. Powerpc-utils tools can dispatch RTAS calls to retrieve host information using this ibm,get-vpd interface. The 'host-serial' and 'host-model' nodes of device-tree hold the same information but in a static manner, which is useless after a migration operation. Signed-off-by: Maxiwell S. Garcia --- hw/ppc/spapr_rtas.c | 99 ++++++++++++++++++++++++++++++++++++++++++ include/hw/ppc/spapr.h | 7 ++- 2 files changed, 105 insertions(+), 1 deletion(-) diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c index 24c45b12d4..8ab092c67b 100644 --- a/hw/ppc/spapr_rtas.c +++ b/hw/ppc/spapr_rtas.c @@ -287,6 +287,101 @@ static void rtas_ibm_set_system_parameter(PowerPCCPU = *cpu, rtas_st(rets, 0, ret); } =20 +static inline int vpd_st(target_ulong addr, target_ulong len, + const void *val, uint16_t val_len) +{ + hwaddr phys =3D ppc64_phys_to_real(addr); + + if (len < val_len) { + return RTAS_OUT_PARAM_ERROR; + } + + cpu_physical_memory_write(phys, val, val_len); + return RTAS_OUT_SUCCESS; +} + +static inline void vpd_ret(target_ulong rets, const int status, + const int next_seq_number, const int bytes_retu= rned) +{ + rtas_st(rets, 0, status); + rtas_st(rets, 1, next_seq_number); + rtas_st(rets, 2, bytes_returned); +} + +/* Maximum number of ibm,get-vpd fields supported */ +#define RTAS_IBM_GET_VPD_MAX 2 + +static void rtas_ibm_get_vpd_fields_register(SpaprMachineState *spapr) +{ + int i =3D 0; + char *buf =3D NULL; + + spapr->rtas_get_vpd_fields =3D g_malloc0(sizeof(char *) * + RTAS_IBM_GET_VPD_MAX + 1); + + buf =3D spapr_get_valid_host_serial(spapr); + if (buf) { + spapr->rtas_get_vpd_fields[i++] =3D g_strdup_printf("SE %s", buf); + g_free(buf); + } + + buf =3D spapr_get_valid_host_model(spapr); + if (buf) { + spapr->rtas_get_vpd_fields[i++] =3D g_strdup_printf("TM %s", buf); + g_free(buf); + } +} + +static void rtas_ibm_get_vpd(PowerPCCPU *cpu, + SpaprMachineState *spapr, + uint32_t token, uint32_t nargs, + target_ulong args, + uint32_t nret, target_ulong rets) +{ + target_ulong loc_code_addr =3D rtas_ld(args, 0); + target_ulong work_area_addr =3D rtas_ld(args, 1); + target_ulong work_area_size =3D rtas_ld(args, 2); + target_ulong seq_number =3D rtas_ld(args, 3); + unsigned char loc_code =3D 0; + unsigned int next_seq_number =3D 1; + int status =3D RTAS_OUT_PARAM_ERROR; + int ret =3D RTAS_OUT_PARAM_ERROR; + char *vpd_field =3D NULL; + unsigned int vpd_field_len =3D 0; + + /* Specific Location Code is not supported and seq_number */ + /* must be checked to avoid out of bound index error */ + cpu_physical_memory_read(loc_code_addr, &loc_code, 1); + if ((loc_code !=3D 0) || (seq_number <=3D 0) || + (seq_number > RTAS_IBM_GET_VPD_MAX)) { + vpd_ret(rets, RTAS_OUT_PARAM_ERROR, 1, 0); + return; + } + + /* RTAS not authorized if no keywords have been registered */ + if (!spapr->rtas_get_vpd_fields[seq_number - 1]) { + vpd_ret(rets, RTAS_OUT_NOT_AUTHORIZED, 1, 0); + return; + } + + vpd_field =3D spapr->rtas_get_vpd_fields[seq_number - 1]; + vpd_field_len =3D strlen(vpd_field); + ret =3D vpd_st(work_area_addr, work_area_size, + vpd_field, vpd_field_len + 1); + + if (ret =3D=3D 0) { + next_seq_number =3D seq_number + 1; + if (spapr->rtas_get_vpd_fields[next_seq_number - 1]) { + status =3D RTAS_IBM_GET_VPD_CONTINUE; + } else { + status =3D RTAS_OUT_SUCCESS; + next_seq_number =3D 1; + } + } + + vpd_ret(rets, status, next_seq_number, vpd_field_len); +} + static void rtas_ibm_os_term(PowerPCCPU *cpu, SpaprMachineState *spapr, uint32_t token, uint32_t nargs, @@ -464,6 +559,8 @@ void spapr_load_rtas(SpaprMachineState *spapr, void *fd= t, hwaddr addr) fdt_strerror(ret)); exit(1); } + + rtas_ibm_get_vpd_fields_register(spapr); } =20 static void core_rtas_register_types(void) @@ -485,6 +582,8 @@ static void core_rtas_register_types(void) rtas_ibm_set_system_parameter); spapr_rtas_register(RTAS_IBM_OS_TERM, "ibm,os-term", rtas_ibm_os_term); + spapr_rtas_register(RTAS_IBM_GET_VPD, "ibm,get-vpd", + rtas_ibm_get_vpd); spapr_rtas_register(RTAS_SET_POWER_LEVEL, "set-power-level", rtas_set_power_level); spapr_rtas_register(RTAS_GET_POWER_LEVEL, "get-power-level", diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 5e0a1b2a8a..34bb835bd3 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -162,6 +162,7 @@ struct SpaprMachineState { struct PPCTimebase tb; bool has_graphics; uint32_t vsmt; /* Virtual SMT mode (KVM's "core stride") */ + char **rtas_get_vpd_fields; =20 Notifier epow_notifier; QTAILQ_HEAD(, SpaprEventLogEntry) pending_events; @@ -619,14 +620,18 @@ target_ulong spapr_hypercall(PowerPCCPU *cpu, target_= ulong opcode, #define RTAS_IBM_CREATE_PE_DMA_WINDOW (RTAS_TOKEN_BASE + 0x27) #define RTAS_IBM_REMOVE_PE_DMA_WINDOW (RTAS_TOKEN_BASE + 0x28) #define RTAS_IBM_RESET_PE_DMA_WINDOW (RTAS_TOKEN_BASE + 0x29) +#define RTAS_IBM_GET_VPD (RTAS_TOKEN_BASE + 0x2A) =20 -#define RTAS_TOKEN_MAX (RTAS_TOKEN_BASE + 0x2A) +#define RTAS_TOKEN_MAX (RTAS_TOKEN_BASE + 0x2B) =20 /* RTAS ibm,get-system-parameter token values */ #define RTAS_SYSPARM_SPLPAR_CHARACTERISTICS 20 #define RTAS_SYSPARM_DIAGNOSTICS_RUN_MODE 42 #define RTAS_SYSPARM_UUID 48 =20 +/* RTAS ibm,get-vpd status value */ +#define RTAS_IBM_GET_VPD_CONTINUE 1 + /* RTAS indicator/sensor types * * as defined by PAPR+ 2.7 7.3.5.4, Table 41 --=20 2.20.1