From nobody Mon Apr 29 07:30:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1511538064243746.5329443211546; Fri, 24 Nov 2017 07:41:04 -0800 (PST) Received: from localhost ([::1]:49887 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eIG5t-0006hD-GF for importer@patchew.org; Fri, 24 Nov 2017 10:40:45 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49421) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eIG2T-0004DW-AJ for qemu-devel@nongnu.org; Fri, 24 Nov 2017 10:37:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eIG2P-0004bw-Ed for qemu-devel@nongnu.org; Fri, 24 Nov 2017 10:37:13 -0500 Received: from mail-eopbgr40105.outbound.protection.outlook.com ([40.107.4.105]:57962 helo=EUR03-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eIG2P-0004a7-6R for qemu-devel@nongnu.org; Fri, 24 Nov 2017 10:37:09 -0500 Received: from rkaganb.sw.ru (195.214.232.6) by VI1PR08MB0847.eurprd08.prod.outlook.com (2a01:111:e400:5a05::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.239.5; Fri, 24 Nov 2017 15:37:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=F8biFLnl2JrldVsM2zbE73hzXKZZXMVKNQjOMMY/N3o=; b=Uiz3T7fKYG6CHW3CZwiKl2DqzoLsOnQXJmFRSga7kxK8g58riG2OvXTgIFFR/5F0zJjsmuESFYaSwX3FiSotlluoH0H/6L9cJAgbajA45X9xWTaMm7LGUj2YhkiNbjemhGptmEDOdAzXHfwFwAAciwipkrFK2ZXRs6uyxl/kj/w= From: Roman Kagan To: qemu-devel@nongnu.org, "Michael S. Tsirkin" , Igor Mammedov , Ben Warren Date: Fri, 24 Nov 2017 18:36:55 +0300 Message-Id: <20171124153656.30199-2-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20171124153656.30199-1-rkagan@virtuozzo.com> References: <20171124153656.30199-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR07CA0045.eurprd07.prod.outlook.com (2603:10a6:7:66::31) To VI1PR08MB0847.eurprd08.prod.outlook.com (2a01:111:e400:5a05::17) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(2017052603199); SRVR:VI1PR08MB0847; X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 3:H0GzZ9HhCSVyQLgZhMAoZ1G7wryfzz/7xhxhavr1ztrOEXgbJRsGXTvNTBW06NpJXbirz4WGGHqLK3Orb8NxAmsMQo61ORIbIxsg5qM8JQaLZKZeYM9ZXCKZLSC+AmezYl5yitOLhHD3vaTB2m0inQwXwThRoLfxA/moFq0e2u7qwXv5EsLTl+77mvb4QMtZbPgKenq4HbnXs7mq1hKvweaZ5OFlWRSZWhPXlcsAQC8Z9dPL7HcIjxwfuWGhZDvl; 25:Bkefz4qGUPylOhCSwi/8yWlngQXeXcUsf88NEbcPTEoc5Nt7dO2okzWZ2DduogJDZ/dB9KDou/FphwMqRJhmFRyXOcpjndVVKFaQ7FNfWuACHfrLHoGQAoPH66Bk6eYTG/WBbLEqRETbC9sHYdIVP+2HRe62CG9KGeF50vxFd0ER0O8mFzOETt0cKG6jJwH4IYmOWa2NbPdXqC7Pk1ucRrZYPguHzhnx3N1/DYKk2oA7qCho/xifBwaChgeaQTjdw6C8tvTu4ASRButgb5j+3y6XRDpkNxHG3X8KRWj/Iy4RMjjxey5a86aMBgXYLemdkjEBzwWH4A8FpQW+BHZfEg==; 31:TkveAssFsSvLImBHV77yayGa0CssOvL0opPsABwI5NUtUf+V2OB/UdBX/GO1PXGkWBzV1py6L+s6n7NhpQ4r5V8ml4/GMWn2p5PMuATdLol9ZRumvXno8c/S1sZv/VvDtCdL3Em3xzc2R+a0BPRaydcddy1HrMsx/tvD5qC+F9Ok3EE9O2eJ/kk3qm8iw7QTPrnDR2oT+MpY8PT/xEbxDsQrIKCM0+E/iMwNJJxBHHk= X-MS-TrafficTypeDiagnostic: VI1PR08MB0847: X-MS-Office365-Filtering-Correlation-Id: 17dd2d45-de37-4e92-589e-08d53351373d X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 20:akdtdypG5BX5G+edFzxJ8K/ZfuIWEGU9l00gD8jEMz3WbbdnX2ApLoA4E+ysyCy5/aZdwK66xOS2kosXBzebbPfAtv+8HBMjHc/t7tSivBdQ0V9W+jLS/TaHtzE8HTU1BYsJaeXqsx/SSF7sdHsI1JUMQCY0LETrICuY+XQK5TC5MyhYZhWk1i0Md7mTi7L+ZE2YFrypnCpSa5iqGtN+nkltY9IDdPBMVK4sIUT6mUAaVMldRN/f7lQCaqswScCdcZthlVOvsUxj1NDe5C4h9JLOEund5lddsMJSnq1KHF8oWUwglGEDB5d2lDZVKPD4bWPK8ukmklM0OZCnDROi8z61WIqCtxRg95Tp4918EflBT6Ox19T+oO0Q1/vQ+vfAogAp/E3TJ/hN6sdnezMB4M+jT2Si3tCjQhlrvJRW1OM=; 4:/h7eLC4Q1joewL2RrARGOaIU1mGYq3VJVEaDU1YwD5h9+r5S6eIpr6jRFIespF9mxYss7gU5szGkqBO0NRoSQS7vZzgMCVV5CR2iBCElwE9ncLgJVaycqIuYBUQjw/Q2BdKc+4G1ZT5g/YvPVKdI7TYJdLy7HqAChFCdPsj/8XcG84Cnc3i0rGphNOqi0OakSoyLIUAdOfoByv2EldYiA//qFnkkCw3HsS0ToyE6U+iCtH3iq57yP8ERYPw4+YxrGCESV21ONBpTnsDua9l+9Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(5005006)(8121501046)(3231022)(3002001)(93006095)(93001095)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123558100)(20161123555025)(20161123560025)(20161123564025)(6072148)(201708071742011); SRVR:VI1PR08MB0847; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR08MB0847; X-Forefront-PRVS: 05015EB482 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(346002)(366004)(376002)(199003)(189002)(97736004)(101416001)(48376002)(50466002)(8676002)(81156014)(5660300001)(81166006)(53936002)(2906002)(7736002)(86362001)(6116002)(3846002)(478600001)(16586007)(6486002)(66066001)(6506006)(55236003)(107886003)(105586002)(2950100002)(16526018)(8936002)(50986999)(68736007)(189998001)(47776003)(76176999)(106356001)(33646002)(4326008)(25786009)(316002)(110136005)(52116002)(69596002)(54906003)(50226002)(1076002)(6512007)(36756003)(51416003)(53416004)(305945005)(6666003); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR08MB0847; H:rkaganb.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR08MB0847; 23:Pe083dpz1Gu1bU2cmtXYTas4S0umZ4i1XcuCQWXYI?= =?us-ascii?Q?b28FlCWh/CxIyIq5nE7+cfyx0rmBagPvnSFeNzU4H6cH+Vlx57yNcYdm4UEO?= =?us-ascii?Q?ZzXvaGC/oheAjOSYQkhA2gWVK2L1Vj4HFlrGsPb9/iqQwDoFCXFbhxdrQZRn?= =?us-ascii?Q?3rNr2zVFdZY6Sn6rC0xAcbrKL7PovLbtrQIT11x1JmmfMtbOaxs/B0DmGXSX?= =?us-ascii?Q?D+OkhX2lRCjFMSctvdiOTTCQ5OOZ1TGBBSakVAgsViUSiz0wMr4whdmBq4pw?= =?us-ascii?Q?9SOSC8uCoHBdNkquuJMMiuRsSqApTPqX84NyL/4SilNC1fsuRgzlmJ/SMe6t?= =?us-ascii?Q?6Prsxf1+w/XtyNcPQzkUqnimMdPBMi8kqwpSITYw572IuifnbSDgj8fEKHmk?= =?us-ascii?Q?EW0fnDG0mOsQP/hdNDruEwETdWQMF6WpKSrW67Z4fvwWhN/DM/mO3ulrObK8?= =?us-ascii?Q?7PaHo+vRx8dy5G7Y3YN2R6hYpcqOxEjPuLpi9O++xPQtI/zjfPjwtxl+Lc4L?= =?us-ascii?Q?0oK/0wKmBdxFf2/WX/zqslbTg+GHIWEsv9C+MjQLVdOXP7BJQXtU34JeDCHY?= =?us-ascii?Q?+pNgbHEacrztX4oNB1q7n3RaFbMKbRm1ysixiNUNnBbZhkv2vN9aDzs0bHX6?= =?us-ascii?Q?LJQoKJvrnLzuVNkUBFdqnAHMUU1KiEMeldGss/zGc3R7svu0pg0ZVQ2VZ5nb?= =?us-ascii?Q?YhtBzWpnfp5gxumMaDu+TuJuPb54NcIHkGwU9qurgfUDVag+CkCJNNiLIvho?= =?us-ascii?Q?l7nO0Cg3+3wkvwBFccilzRHuUyqENSXeQ77eHoU7cR/xqaOO1ti0ql6ijQBD?= =?us-ascii?Q?tDp/eS4SINu9Pd9P6dTIvTqatoCE6n8undoy5i8A2e6xX+AONmi+kK2gPhQ3?= =?us-ascii?Q?TS3USOCWYn0KQEEyoxvXSIOu5hTT8FKbRD5VmPI0+X6OvPX/4e7tExdzPwJ+?= =?us-ascii?Q?XBEnf2gc2dui7WHJD11/HdXl8b/Jr6SrbgrFWtphf+abtoHtPhW4k+agPB65?= =?us-ascii?Q?BVDEslZZtcppUDJecs9INmJ0I2OWwsq+1St3YQOy8xwbNGQexY3AtDMBDK+V?= =?us-ascii?Q?vjqbinviQlgZfOVPABdE7mFxWAZCxcRJjsP3qoZ/z6bXnnm96/KYNvaGg1sY?= =?us-ascii?Q?FWwK/xNE07lpyR+5GWndQf1cp9GGk8M02DEwxRcWeVKB4+VYo+/LLrtqstQq?= =?us-ascii?Q?Bf16tTL+MhqSgbgsf702Bohdk0qK4pBGr+PqWw3qvxaOBP9iXIa1ksKoA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 6:0vigaKa3yY+hIDnfuMzl87AC2ni0mKyaLIObm5k8RnW/IcexfBNHD9id730pJUpe29+aR3wQJr8zJGMek3kL/VUfqwESLMPE2mTxUOGr3g4w1+/tktQEr/PrwJ7+qrk+gF8oa7cygo98N7n7P8+Ev2p4S2DPT2u/gNNv5W8+TgNV5uhQt5ojMuCI6yN4r26DCr/9EBy4DwJ12mvupF2tR/OBUyOy0pFR0Req3HWbBBq6Wnk70AqlK3AgRnkm1TP2mULgNAjfs27lAM/hVZKKb1O/as5kv+x3F/pDGY2SDqath2YXhDFm2UCgFy1UvGo6cw2Th+vBbu4wc9rBp6W2RL+atD2eA7bgINea9I4n3cw=; 5:ZV/HwHJ8BcozSJFGWzNP4CFG6K/4jQnDe4sBeiEpb5W6jHb3oyYGnagPgnljKsPW+GZJfegqk7OiNqEv1bdmSPbc1NYAn7TmsfeWuw4vUkT9xaFPGwC1/PEycfLeiAo3QXfkGRILz4oyJbnhebyPv0jb4AI0B0+/F2AbQQEoUq8=; 24:0OU8TL6EpSA6sjwnPHh3cMQyTc+k/sXT/2wFWHQ/ixD53Awvjzd9WmmdHlRSzy46hRjXBc5ixt4IyvRYCzbjOucGKBNOXZZvv7QoYeIU0jA=; 7:UO6OCF/2j9jeiFjnnaVXA69AM8nrToMR/IbbTyU6AR8a6I5ZfkZ4TY21LJpJpZfMBzE4ZwB/OLfKegTP9eZMRHqW6XthoF+g5zPao9DQTo0ntn46yYHKEpp6HjPgrYdjav1JRY4s8MwFf+Stp4TaXxaD/Nqfd6kUk7iFa3g8TzsJKBEosGgRmmxKZCEGf1TGkOGG1dKHWxW0B4+Jn0VN72bn5WDMau9kUr4Xq15jxoJ6rjS/zqUDGvQ6UDLTStis SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 20:yHfnSDo7SN/XhxhdMCJ2eBY65YvJS/QiwfcR7t3dDzInyJsUv7dJ/NYv2/7AfwbHtXq9VW5mFo5U7Npp+JFDFaq1lv/no6asFt6aku6JOTl/JPkSoVCtPipr82hj7fEskMo291Z8fvG3Zdb47ksZ63hKGtvXSK51U/Fy2iBdhvc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2017 15:37:04.8834 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 17dd2d45-de37-4e92-589e-08d53351373d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB0847 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.105 Subject: [Qemu-devel] [PATCH 1/2] qdev-properties: add UUID property type 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: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Markus Armbruster , "Denis V. Lunev" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" UUIDs (GUIDs) are widely used in VMBus-related stuff, so a dedicated property type becomes helpful. Signed-off-by: Roman Kagan Reviewed-by: Ben Warren Reviewed-by: Marc-Andr=C3=A9 Lureau --- include/hw/qdev-properties.h | 3 +++ hw/core/qdev-properties.c | 52 ++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 55 insertions(+) diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index e2321f1cc1..d4da7dd1f1 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -30,6 +30,7 @@ extern const PropertyInfo qdev_prop_vlan; extern const PropertyInfo qdev_prop_pci_devfn; extern const PropertyInfo qdev_prop_blocksize; extern const PropertyInfo qdev_prop_pci_host_devaddr; +extern const PropertyInfo qdev_prop_uuid; extern const PropertyInfo qdev_prop_arraylen; extern const PropertyInfo qdev_prop_link; =20 @@ -212,6 +213,8 @@ extern const PropertyInfo qdev_prop_link; DEFINE_PROP(_n, _s, _f, qdev_prop_pci_host_devaddr, PCIHostDeviceAddre= ss) #define DEFINE_PROP_MEMORY_REGION(_n, _s, _f) \ DEFINE_PROP(_n, _s, _f, qdev_prop_ptr, MemoryRegion *) +#define DEFINE_PROP_UUID(_n, _s, _f) \ + DEFINE_PROP(_n, _s, _f, qdev_prop_uuid, QemuUUID) =20 #define DEFINE_PROP_END_OF_LIST() \ {} diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 1dc80fcea2..49fea5a40a 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -10,6 +10,7 @@ #include "net/hub.h" #include "qapi/visitor.h" #include "chardev/char.h" +#include "qemu/uuid.h" =20 void qdev_prop_set_after_realize(DeviceState *dev, const char *name, Error **errp) @@ -883,6 +884,57 @@ const PropertyInfo qdev_prop_pci_host_devaddr =3D { .set =3D set_pci_host_devaddr, }; =20 +/* --- UUID --- */ + +static void get_uuid(Object *obj, Visitor *v, const char *name, void *opaq= ue, + Error **errp) +{ + DeviceState *dev =3D DEVICE(obj); + Property *prop =3D opaque; + QemuUUID *uuid =3D qdev_get_prop_ptr(dev, prop); + char buffer[UUID_FMT_LEN + 1]; + char *p =3D buffer; + + qemu_uuid_unparse(uuid, buffer); + + visit_type_str(v, name, &p, errp); +} + +static void set_uuid(Object *obj, Visitor *v, const char *name, void *opaq= ue, + Error **errp) +{ + DeviceState *dev =3D DEVICE(obj); + Property *prop =3D opaque; + QemuUUID *uuid =3D qdev_get_prop_ptr(dev, prop); + Error *local_err =3D NULL; + char *str; + + if (dev->realized) { + qdev_prop_set_after_realize(dev, name, errp); + return; + } + + visit_type_str(v, name, &str, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + + if (!strcmp(str, "auto")) { + qemu_uuid_generate(uuid); + } else if (qemu_uuid_parse(str, uuid) < 0) { + error_set_from_qdev_prop_error(errp, EINVAL, dev, prop, str); + } + g_free(str); +} + +const PropertyInfo qdev_prop_uuid =3D { + .name =3D "str", + .description =3D "UUID (aka GUID) or \"auto\" for random value", + .get =3D get_uuid, + .set =3D set_uuid, +}; + /* --- support for array properties --- */ =20 /* Used as an opaque for the object properties we add for each --=20 2.14.3 From nobody Mon Apr 29 07:30:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1511537940325698.4830143237645; Fri, 24 Nov 2017 07:39:00 -0800 (PST) Received: from localhost ([::1]:49870 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eIG42-00055s-7h for importer@patchew.org; Fri, 24 Nov 2017 10:38:50 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49426) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eIG2T-0004Dn-Ok for qemu-devel@nongnu.org; Fri, 24 Nov 2017 10:37:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eIG2P-0004cK-Ue for qemu-devel@nongnu.org; Fri, 24 Nov 2017 10:37:13 -0500 Received: from mail-eopbgr40105.outbound.protection.outlook.com ([40.107.4.105]:57962 helo=EUR03-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eIG2P-0004a7-Mb for qemu-devel@nongnu.org; Fri, 24 Nov 2017 10:37:09 -0500 Received: from rkaganb.sw.ru (195.214.232.6) by VI1PR08MB0847.eurprd08.prod.outlook.com (2a01:111:e400:5a05::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.239.5; Fri, 24 Nov 2017 15:37:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=n/dGXGWisGrz5+54amSsiVT8YTK0sYZ9T4dJxwvORUs=; b=AAPfIFoh5BMtv8RtOPy2jNsUbTEOHASdlC8JzbIcq8DRk09EHd1fQD6c51e/l1tiZQ1f8w9ezz7bYFzd9kkqDkS6WitsM1IPkc1lT/RqwkW8Gkt+HgIJq5LsHUJFc8t7Hz0OMY20WsSn19KYPYBUZUDL8iUlM447bCP3NJBkPlI= From: Roman Kagan To: qemu-devel@nongnu.org, "Michael S. Tsirkin" , Igor Mammedov , Ben Warren Date: Fri, 24 Nov 2017 18:36:56 +0300 Message-Id: <20171124153656.30199-3-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20171124153656.30199-1-rkagan@virtuozzo.com> References: <20171124153656.30199-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR07CA0045.eurprd07.prod.outlook.com (2603:10a6:7:66::31) To VI1PR08MB0847.eurprd08.prod.outlook.com (2a01:111:e400:5a05::17) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(2017052603199); SRVR:VI1PR08MB0847; X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 3:F1ttnitWk6vAXVUy6rCPpV4+Hc19cnMggzxBCN4tQd4zg0cohWigGJkbzRQ5cdd9k6TYSIbJXd66n4zsWYrhvo3hdJBumTBL/xcYWiSRxGWfKDJn0twLOLVE+jtnF1KT1/GxA4FJpXC3gc26teddrgUXIvUR0CgcceoJg0XuJyc/V7Dc8oxqBpfrPK/v6sAMVtsCVSK04UPU4m2W2PagLkURcTsF/3obfr+oeSzTdtfxE+k4D+70HfGoJZDvRDg0; 25:zlTPP0wSuv1T5FwlxhQPBHacAI7wIAuXyp2VQuXSt9sMQ69krc1V0Vpta2S2zG9Mml/ZAz3KaW1EVhL7fi8M9f4vDh6LgKTnbS3L7Zns7h++0cdS6CEGkbTJ5ZmvJV5RXIuM9MZWrU9RBR08FiGc91RXMH3SYLyZy7My4GKNqIvPpdh029s5gdcFLPEDGce6eoV8U6UFmZZAXvb/31xbe/GuW9Z0oMXAXwGJ8j4Ys9e4ySiTNJD7ODZlgctfyWtWx6Vu6jNLjk9NhtAeLL/E/d2Gk1o4R4NcDn+lMP1luVrnR7DvcA8rj35L3gojTS8IepHvJ1uHXWxjSjIWwLXTpg==; 31:qTvNZDGEY9Csvy2DrSHUIo5LQQ4Cvl+Vl9PQrbUiUdkk/CsbltsH2zgrAZ5RgDGa9m3zhGMhUmRyGWpeOLQPr0LREY3H3qH0cJPg790I5UDdubd9xcUE0kPGjLKnEJ6TgCyOKHvBIP8mmLZzk7SnqmR1qHz5J7ShvgHyBmqUCB//D6Uh3J0rCe+u08boDm0mz1yBT391UokeNzykqBo5n/2rrcCoshrvxJBGdfPKrRE= X-MS-TrafficTypeDiagnostic: VI1PR08MB0847: X-MS-Office365-Filtering-Correlation-Id: 3badff68-deca-4210-a218-08d5335137c7 X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 20:GYgSIIzteQ5BZxDbE6btnVOAmKvayZCESms+PYKUiZ98VojGbsIftpHi7vyVUXkH1TrBqdULc40u3r9gn9CgErkwYOr+eIi41y1F4HFGLy7ND/IewlZ8eB5K9m8CtW+yl6Vg+UuR24Lm0yLu/eanH+P9HISPLt7lybZhb2gRo0fAqCtlkOv24FZGgtnsLcTLgXAxRDRt6qjFErlzlEWZpmWXyfrvGEYa52RWIuExiBCiBgL80EoFTxo2mvlVnWUSgInTCDMn5VwLAfEvI4vJRLk5T6KYIa0rlndREASbzqDPDCuLOUElLRPU/jdpX6fE6drtJVPyCgn75kU9MxKCSX2Oo/PaGBO++cf9UQNka61Q9reTtkpLhRL9RhVRoADEkiYUYxpwuwZ8jHmJXG8L1HNZ2SHFtPoQmLJX6DkFuPk=; 4:sdcuQcdLe8spyTVt4zjWoXhgS0PqyMKHDRUE14uIGT0ADU3f18jyo7BszKC693khu6H2Mki6ABtdE7oXN/f1FbpqeX7qImLmX6rFvFqGay84LZ46cFs3bPG2GGCck/GD6DrW646btX1+Ks+f7bVh+hoWH+4vlnsFYqVNUEXu0wICMcUYkZZWgOs+8OsKlW7/Zd5NqA6vKV5aeCz8LF/Tk6CMA/WB59c679tAAoLp2GhxWiivzg9mYsb5eA5dGERVRw4ECrymUgyPETE/d2LgeQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(5005006)(8121501046)(3231022)(3002001)(93006095)(93001095)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123558100)(20161123555025)(20161123560025)(20161123564025)(6072148)(201708071742011); SRVR:VI1PR08MB0847; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR08MB0847; X-Forefront-PRVS: 05015EB482 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(346002)(366004)(376002)(199003)(189002)(97736004)(101416001)(48376002)(50466002)(8676002)(81156014)(5660300001)(81166006)(53936002)(2906002)(7736002)(86362001)(6116002)(3846002)(478600001)(16586007)(6486002)(66066001)(6506006)(55236003)(107886003)(105586002)(2950100002)(16526018)(8936002)(50986999)(68736007)(189998001)(47776003)(76176999)(106356001)(33646002)(4326008)(25786009)(316002)(110136005)(52116002)(69596002)(54906003)(50226002)(1076002)(6512007)(36756003)(51416003)(53416004)(305945005)(6666003); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR08MB0847; H:rkaganb.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR08MB0847; 23:oMbo9GqnUQs3/coeWz/3KTSKRBIvlPmWII/mZ9YoM?= =?us-ascii?Q?WGQgpqBXLBDIIp7mW2VJwTRnSFaBIjMCjerP3zv8+NDxLD9P/H/18vJW0dxH?= =?us-ascii?Q?3YiW57sjh0bojeea27Lgc6XO+Wk01QVxzQrdob6R/Z7exe7pCT85/1D8TVGF?= =?us-ascii?Q?gxhN/gb5BoZT8yeDua4yRlTy0u5QvMpNICbppPoT4md0LzcvLWDXBu/txBk/?= =?us-ascii?Q?JlbrSRKL8iJ9qDHZ1NqeuM86u5rgglaYX7hLG6NkEiVZk85O2R4/0R4NWoIv?= =?us-ascii?Q?AvyLWwkUwwOc6hwIHl/SNT83TxHspq63VfFY6Tow3WyZN+UYTItOxk+NFhNC?= =?us-ascii?Q?KhaCz8vKDY3CYK2XP2tW6y/OVQVkmZ5kMEq8Dmi04eeB1S85LjRdsNjjWqK0?= =?us-ascii?Q?HVfZZlc+lC8NmaGXLOWN/vC5h9m058TC1n+S/YQCI2/s7iZjnY09PU7o1KXf?= =?us-ascii?Q?/XqrhgWMG1asK+MMi0nsUs8YiPfH25+yL75eE4tHZsY7LI7BuiXVKnbm4BRJ?= =?us-ascii?Q?Xnkfwp39Ua7MPlOY9C1Wubw3s4iGvcRT6eQD8FaW1Scs7eXX72UIynZ1R6VF?= =?us-ascii?Q?X3Ir5NjBUzlYeZMMQBTCX/CGeokMH7lUUHODc+ajGak/PEgBlm8wV/GKiQ2Z?= =?us-ascii?Q?8/psN5H2ku4uLahuDVkVWd5D4xC3AJDEZsJLYY/Kr9nCGCcfOVB2TgclAnW8?= =?us-ascii?Q?1XdcvNSYmVQsfxGoQsvUEvY97jJZA1MEDodNisHTyscKUtCgYsgsK6n9tBi8?= =?us-ascii?Q?5hBhOFZB0+gqOBMGKy026Y1y4UI4cKNmwpLncPBzgPzh62hdG25JYpWxfiuN?= =?us-ascii?Q?JS5JbT+mLbuvgep6cieMIF6QwOtoD/6EfnX3oVx0w1ziZO+Bd8wEVK4yoGyf?= =?us-ascii?Q?ZNRHuECt2+gX1wXVNRlX/CByHre8DxdXA5DG14276Tx/27AeIHTdLJdmg5o6?= =?us-ascii?Q?uqAb04XPfuG7QJNvyI8EftLDEvLN5KGPp69nBU6/swAsH4HP6aOdMacM3Jlt?= =?us-ascii?Q?8aAZZEMwyeez6BDn4v4BkSZ2o/nsV6uxx4+WBCpyg9lpykvns8B8dcp4D084?= =?us-ascii?Q?Bo7Oedve/ca1q5pW3ltP2VS7gU/JoiDcFqk889Elb/gedVXynx3pXf5H4yyu?= =?us-ascii?Q?2/I0KidZirytkE52NQokPcrqP9lGiuc0S2mg4wLbdCvtnboecXF0/VBoFiAT?= =?us-ascii?Q?czQ9tijCCF3Qq58jwjVqnHcTrrcebrfxdOykg/s+vSdiHNXaIEbLMpDDA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 6:+gtJSbKFRuHqnzW0tSehQygKySM8/1FhYs+gUzTGZMZlS5/s2mCqn8n4nSQi5EfXMVQPV8vfiOFE8Q383hV2OEKpSIbEUv19M7OYD1Q/4kgo750iNqS7ys809K/is1v0dS+lHAgLiZCjpnqM4dj56K8qNgEbxnaY9X6hcOWP6H3g/sHO5M/CYnuMNlomJLGHL/mE79qnIPb4JxN2w2E+fNo3Jz2sZ6LXvAp/TZB7yyRczYETGh1nZ9RAX6+JisdOKBNGrKDps0yBgZ6Qprp9tRr0HdldUmxZ8NqEpYlwRCD5JzStVywsnZVvCYyM+1pSqOF+iaSjdrkGSFFo1jPIFSkbb+0BYLybq9HgSO9VDgM=; 5:OS1dUC1YGOyrNtYpuUAkz9U6cxhBwoGxSlsRMU6mW6VFpm9jHTu9rr4FQjLk1ppmCjnoujGWfUT1UMLz64/2oYliXGSx8270BlXOwWsEOohFLewLXY02c7rTFc8McbTtukk0+GQ4PEP1z2LRelr0nbCge6/hYFdbWVn8oBEYwvE=; 24:1SQAQ6cP7yu9D2LK+iiKqg9/FPveia8NPmIKbAA+gOwTI820pFDDTMVd0pnDtdC2dBjIJmxnLFdTan+sZMWfk1tR1yq2rXm7YQUd97X8Pz4=; 7:lIRI/7TKybWtsTL3Ujl3069ly1kbEFw53/fP32qj+42OL3puXba1e1qu7/CTvi9ZM/m3DruBxAXnhP/pYjY/dtVmwWJI1i47odqsAIgqOAcpQK1ZLd66Q0oor2nHc5bT5S5YgJkP8JDvQvHiIOfz6UAGkYCqOXEqLqTrXshyRBGHEVw1o4HT5JBL1UXC+zC7J7RSj+M//a+B/jg7D1bAonFskoMZ2sH9yPui/3uZYaDvyLvxNPT80bdH4C/zbhzA SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 20:Pb/IcQ0qUSNaU6IDidW21TaIeHVmBmed1LBRw5s0dEOJh+2pgXLLZgLeHwkwig8bWYyEIT1TxMN9kSJp9+RNVTtxuB/V1FlVFK/fuDGq+2D+Wg19n6+KXf2V2GQ9S2xGuTv7OieGNBGJz4ghdbkpsGLzZsaOFREvoWkeMaTsj4A= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2017 15:37:05.8053 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3badff68-deca-4210-a218-08d5335137c7 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB0847 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.105 Subject: [Qemu-devel] [PATCH 2/2] vmgenid: use UUID property type 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: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Markus Armbruster , "Denis V. Lunev" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Switch vmgenid device to use the UUID property type introduced in the previous patch for its 'guid' property. One semantic change it introduces is that post-realize modification of 'guid' via HMP or QMP will now be rejected with an error; however, according to docs/specs/vmgenid.txt this is actually desirable. Signed-off-by: Roman Kagan Reviewed-by: Ben Warren Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/acpi/vmgenid.c | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/hw/acpi/vmgenid.c b/hw/acpi/vmgenid.c index 105044f666..84ff015bda 100644 --- a/hw/acpi/vmgenid.c +++ b/hw/acpi/vmgenid.c @@ -162,21 +162,6 @@ static void vmgenid_update_guest(VmGenIdState *vms) } } =20 -static void vmgenid_set_guid(Object *obj, const char *value, Error **errp) -{ - VmGenIdState *vms =3D VMGENID(obj); - - if (!strcmp(value, "auto")) { - qemu_uuid_generate(&vms->guid); - } else if (qemu_uuid_parse(value, &vms->guid) < 0) { - error_setg(errp, "'%s. %s': Failed to parse GUID string: %s", - object_get_typename(OBJECT(vms)), VMGENID_GUID, value); - return; - } - - vmgenid_update_guest(vms); -} - /* After restoring an image, we need to update the guest memory and notify * it of a potential change to VM Generation ID */ @@ -224,23 +209,24 @@ static void vmgenid_realize(DeviceState *dev, Error *= *errp) } =20 qemu_register_reset(vmgenid_handle_reset, vms); + + vmgenid_update_guest(vms); } =20 +static Property vmgenid_device_properties[] =3D { + DEFINE_PROP_UUID("guid", VmGenIdState, guid), + DEFINE_PROP_END_OF_LIST(), +}; + static void vmgenid_device_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); =20 dc->vmsd =3D &vmstate_vmgenid; dc->realize =3D vmgenid_realize; + dc->props =3D vmgenid_device_properties; dc->hotpluggable =3D false; set_bit(DEVICE_CATEGORY_MISC, dc->categories); - - object_class_property_add_str(klass, VMGENID_GUID, NULL, - vmgenid_set_guid, NULL); - object_class_property_set_description(klass, VMGENID_GUID, - "Set Global Unique Identifier " - "(big-endian) or auto for random value= ", - NULL); } =20 static const TypeInfo vmgenid_device_info =3D { --=20 2.14.3