From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58567) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YC0O7-0004tt-Vx for qemu-devel@nongnu.org; Fri, 16 Jan 2015 01:28:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YC0O4-0005CG-17 for qemu-devel@nongnu.org; Fri, 16 Jan 2015 01:28:07 -0500 Date: Fri, 16 Jan 2015 17:28:08 +1100 From: David Gibson Message-ID: <20150116062808.GM5297@voom.fritz.box> References: <1419337831-16552-1-git-send-email-mdroth@linux.vnet.ibm.com> <1419337831-16552-6-git-send-email-mdroth@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="IoFIGPN1N3g1Ryqz" Content-Disposition: inline In-Reply-To: <1419337831-16552-6-git-send-email-mdroth@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [PATCH v4 05/17] spapr_rtas: add get-sensor-state RTAS interface List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth Cc: aik@ozlabs.ru, qemu-devel@nongnu.org, agraf@suse.de, ncmike@ncultra.org, qemu-ppc@nongnu.org, tyreld@linux.vnet.ibm.com, bharata.rao@gmail.com, nfont@linux.vnet.ibm.com --IoFIGPN1N3g1Ryqz Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Dec 23, 2014 at 06:30:19AM -0600, Michael Roth wrote: > From: Mike Day Even simple patches should have commit messages. > Signed-off-by: Mike Day > Signed-off-by: Michael Roth > --- > hw/ppc/spapr_rtas.c | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) >=20 > diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c > index 6aa325f..13e6e55 100644 > --- a/hw/ppc/spapr_rtas.c > +++ b/hw/ppc/spapr_rtas.c > @@ -389,6 +389,39 @@ out_unimplemented: > rtas_st(rets, 0, RTAS_OUT_PARAM_ERROR); > } > =20 > +static void rtas_get_sensor_state(PowerPCCPU *cpu, sPAPREnvironment *spa= pr, > + uint32_t token, uint32_t nargs, > + target_ulong args, uint32_t nret, > + target_ulong rets) > +{ > + uint32_t sensor_type =3D rtas_ld(args, 0); > + uint32_t sensor_index =3D rtas_ld(args, 1); Need to validate nargs and nret first. > + sPAPRDRConnector *drc; > + sPAPRDRConnectorClass *drck; > + uint32_t entity_sense; > + > + if (sensor_type !=3D RTAS_SENSOR_TYPE_ENTITY_SENSE) { > + /* currently only DR-related sensors are implemented */ > + DPRINTF("rtas_get_sensor_state: sensor/indicator not implemented= : %d\n", > + sensor_type); > + rtas_st(rets, 0, RTAS_OUT_NOT_SUPPORTED); I think your previous patch used RTAS_OUT_PARAM_ERROR instead of RTAS_OUT_NOT_SUPORTED in the case of an unsupported indicator type. I imagine these should be consistent. > + return; > + } > + > + drc =3D spapr_dr_connector_by_index(sensor_index); > + if (!drc) { > + DPRINTF("rtas_get_sensor_state: invalid sensor/DRC index: %xh\n", > + sensor_index); > + rtas_st(rets, 0, RTAS_OUT_PARAM_ERROR); > + return; > + } > + drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); > + entity_sense =3D drck->entity_sense(drc); > + > + rtas_st(rets, 0, RTAS_OUT_SUCCESS); > + rtas_st(rets, 1, entity_sense); > +} > + > static struct rtas_call { > const char *name; > spapr_rtas_fn fn; > @@ -524,6 +557,8 @@ static void core_rtas_register_types(void) > rtas_get_power_level); > spapr_rtas_register(RTAS_SET_INDICATOR, "set-indicator", > rtas_set_indicator); > + spapr_rtas_register(RTAS_GET_SENSOR_STATE, "get-sensor-state", > + rtas_get_sensor_state); > } > =20 > type_init(core_rtas_register_types) --=20 David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson --IoFIGPN1N3g1Ryqz Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJUuK94AAoJEGw4ysog2bOSHa8P/i5mppGJVtJsgmJZ5ml2EXTr ABpYlJxXkg46aseAurGdKXMZ/Xw12VmsY9T8uywA6twTypJTDNFr0PsvSonn/YFd 1+6TxlAeKGZQ/hlO2O4hBr6KOzgXsU9Z2AD2MFsNv+DwnheIJuXMqf5mVSgA2ZoA QeBMxN1tyLnuw+GfTy/IcWYTW1LUTtf7MyNUk5L7oIu4tppkQ1BuUb7nE/93udcr ntnW2mq+1xVldy0JugPtXVxjF4WFWoikmMDk0lM7aoVTEm+UK7NsFfLnOIJqKNii VtGPY/BeCCc6mFunO7iAjR3qKwlqQzYYDH0LOdNvYmsQ6C9hLyOdAYcdRaKxMPL3 dMnpGwnAFJES1+OXX2LUn+of/LG6YMibjwnwVngCmqKTAX0ECr3faipzu5K4jMlS Y65ll76wFZRfqPJmOiPLSuFr8P2baqxD7hulwzpU5IyA4pqrye213VzluLGWmR/8 foQUr+LvCuk0xa+FOizcERwTCMl8yxgRajXXuVhqdWVmzMPYXXvmC3HazVf0FJnw 1jV2k7DO6VGBIFvSZw8+Jee1o9+7ZdfJLj74Zao6OZHv+RATCTS8zhm16dpV74ZP 4bK0IaVpdoTAd+q5fTUOlGoYzD4msb/Z9oUq7SRKhs7UpBrvO4z4WIV7iyYdjtpy vxepSES2XBPx7eUh1Fqo =0pB2 -----END PGP SIGNATURE----- --IoFIGPN1N3g1Ryqz--