From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:52775) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RC5y9-0006Nb-UR for qemu-devel@nongnu.org; Fri, 07 Oct 2011 04:39:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RC5y7-0001oO-C2 for qemu-devel@nongnu.org; Fri, 07 Oct 2011 04:39:49 -0400 Received: from cantor2.suse.de ([195.135.220.15]:50174 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RC5y7-0001nE-43 for qemu-devel@nongnu.org; Fri, 07 Oct 2011 04:39:47 -0400 Message-ID: <4E8EBACB.10900@suse.de> Date: Fri, 07 Oct 2011 10:39:39 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <6350db66b7c730a90394ab223dfe4c58061b8507.1317971994.git.jan.kiszka@siemens.com> In-Reply-To: <6350db66b7c730a90394ab223dfe4c58061b8507.1317971994.git.jan.kiszka@siemens.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 19/23] qdev: Add HEX8 property List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Blue Swirl , Anthony Liguori , qemu-devel Am 07.10.2011 09:19, schrieb Jan Kiszka: > Signed-off-by: Jan Kiszka Reviewed-by: Andreas F=E4rber If you resend the series, a one-sentence description would be nice. Andreas > --- > hw/qdev-properties.c | 29 +++++++++++++++++++++++++++++ > hw/qdev.h | 3 +++ > 2 files changed, 32 insertions(+), 0 deletions(-) > > diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c > index e0e54aa..f0b811c 100644 > --- a/hw/qdev-properties.c > +++ b/hw/qdev-properties.c > @@ -93,6 +93,35 @@ PropertyInfo qdev_prop_uint8 =3D { > .print =3D print_uint8, > }; > > +/* --- 8bit hex value --- */ > + > +static int parse_hex8(DeviceState *dev, Property *prop, const char *st= r) > +{ > + uint8_t *ptr =3D qdev_get_prop_ptr(dev, prop); > + char *end; > + > + *ptr =3D strtoul(str,&end, 16); > + if ((*end !=3D '\0') || (end =3D=3D str)) { > + return -EINVAL; > + } > + > + return 0; > +} > + > +static int print_hex8(DeviceState *dev, Property *prop, char *dest, si= ze_t len) > +{ > + uint8_t *ptr =3D qdev_get_prop_ptr(dev, prop); > + return snprintf(dest, len, "0x%" PRIx8, *ptr); > +} > + > +PropertyInfo qdev_prop_hex8 =3D { > + .name =3D "hex8", > + .type =3D PROP_TYPE_UINT8, > + .size =3D sizeof(uint8_t), > + .parse =3D parse_hex8, > + .print =3D print_hex8, > +}; > + > /* --- 16bit integer --- */ > > static int parse_uint16(DeviceState *dev, Property *prop, const char = *str) > diff --git a/hw/qdev.h b/hw/qdev.h > index 8a13ec9..aa7ae36 100644 > --- a/hw/qdev.h > +++ b/hw/qdev.h > @@ -224,6 +224,7 @@ extern PropertyInfo qdev_prop_uint16; > extern PropertyInfo qdev_prop_uint32; > extern PropertyInfo qdev_prop_int32; > extern PropertyInfo qdev_prop_uint64; > +extern PropertyInfo qdev_prop_hex8; > extern PropertyInfo qdev_prop_hex32; > extern PropertyInfo qdev_prop_hex64; > extern PropertyInfo qdev_prop_string; > @@ -267,6 +268,8 @@ extern PropertyInfo qdev_prop_pci_devfn; > DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_int32, int32_t) > #define DEFINE_PROP_UINT64(_n, _s, _f, _d) \ > DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint64, uint64_t) > +#define DEFINE_PROP_HEX8(_n, _s, _f, _d) \ > + DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex8, uint8_t) > #define DEFINE_PROP_HEX32(_n, _s, _f, _d) \ > DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex32, uint32_t) > #define DEFINE_PROP_HEX64(_n, _s, _f, _d) \