From patchwork Thu Jul 6 12:08:59 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 785143 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3x3GwX1pc0z9s5L for ; Thu, 6 Jul 2017 22:18:04 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="M9lb4jmt"; dkim-atps=neutral Received: from localhost ([::1]:51186 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dT5jN-0003aT-S6 for incoming@patchwork.ozlabs.org; Thu, 06 Jul 2017 08:18:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36159) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dT5cN-00067B-Ln for qemu-devel@nongnu.org; Thu, 06 Jul 2017 08:10:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dT5cJ-0005Fp-Ka for qemu-devel@nongnu.org; Thu, 06 Jul 2017 08:10:47 -0400 Received: from mail-db5eur01on0093.outbound.protection.outlook.com ([104.47.2.93]:38144 helo=EUR01-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 1dT5cJ-0005Dy-4p for qemu-devel@nongnu.org; Thu, 06 Jul 2017 08:10:43 -0400 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=ver4ezxA4bQ5ApPUV3MKrYXdq1M92Txfqlq54oGr2mY=; b=M9lb4jmtpYCsYd7etwoEEeLoAVm7OYEk3okMo1O11ytM01RL0KHaL4UQ24YPGSyf9jBLWeLQ9hCTFXUk7ODHUW5of+xRfRXYzKq/1CLo1qidbpZBEDSadRM34UPv7xuUUS82183fQP8Mj+7QHuHQPNAUhVXzViUJaFz7DNKgNE0= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none; nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1985.eurprd08.prod.outlook.com (2603:10a6:203:4b::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Thu, 6 Jul 2017 12:10:35 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Thu, 6 Jul 2017 15:08:59 +0300 Message-ID: <1499342940-56739-13-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1499342940-56739-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1499342940-56739-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HK2PR02CA0118.apcprd02.prod.outlook.com (2a01:111:e400:79aa::44) To AM5PR0801MB1985.eurprd08.prod.outlook.com (2603:10a6:203:4b::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07360bd6-3264-49d8-4658-08d4c46804c6 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:AM5PR0801MB1985; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1985; 3:U7fpD0iut0UFY7dXNpwVxQEN4e5+qysr0hmPwg1at73U6ePervEVPXnLqKGMw7Zk85Vub1nzOeDN1q/j+SRtmfFHjjQIci22H+QJI21LUCmrMDCEiF2tiSyutXXucSh41rNGHdkMByrAayEHah0JPES9/6g39IduSsHbSB0fnRAi8DhgG6WjkZtx6TEl2ZEQFSwICkOhwtFXk7gqbgHu0lZB5ykL8WTgnhsxIHD5WIcnjWG8TjU84tkp0B9S39Fprxz/jYZFmd7F+RRVf3YivFsej9MffTS9N9UQs6pjN9ZWcFJueRHDIQu077puElX6UA5WmS2OJwgiR7unqGUudDn809BMeZMN/GrvWdNxfLFs6qimCLpnc2rFag9pPGh4cWcMYOqtIY6zPPDrJZImGSTmj99VYc/zFWutef0JeGvQTz5ejU2gAKm/PbmOsFByk6BJ56/p73vHFM9lrJSQXsaHPX1h1bsUBuLV7FPmHjn8UN92fvoudi2B9oSv1yxqrNdZfCxBSrCqYfnRZHB9AySylnSSX3DaQ88/T0ly/UfjIl5/n8ztfzvMOWsmmjxBoiMVbCpSTDuAn3nuGZ3+Lhuf/e+BWsOHZoEiAlt/0K2kY9hql9exBqkTdMK2BWXir+iAobUc519lCjnUQrz9/kIKgVM3xqXoPkBbOFh25BxZ1GTUfRyVyV0Lr8P7eDhGvYkSimg8Pk6UUHmOG66bZq5Bd0I1O6eS2JM5tWSUGmWV0qWoWd67VPvtFsBNw6nI X-MS-TrafficTypeDiagnostic: AM5PR0801MB1985: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1985; 25:OsHpizvHgMszyg29Zs8pUpEafJ155ZNm3TQHzEoStYIxuYctg3cyrcJk3URAFHL4JSFfTf8IrE6rKbuuybToZBpmiVbqsZo0FI4mH+ONQ7vihMoEi/UE5FWVq5+XCFQMEPWA6NFyvTV8aJJNU4aRitbSLU8Tptnqmc0UR9W1L/LfuWl2DGH4FvP20zdgBF5aDmtM7TqtrhiexLIKZAO6f+sjl3V+VBjyWCDVvUpNdTNaU7sQRV0bY0eyGiLNxhw2MBvYMNwmpDWr4m2X714N/Logl65dd7i8dssiccRSZbqRTtWezQTgvezCMXeBaMtxH15GOpvD6Om2Gssi75gBUThyfBfDkp5bMpx45Hy8FYNWMZfAQgjhflpmQrLpIg/rUplNGIMO8yJNOrmFQwmyXqjuXp5JZgJ17qn+3Yql6V4z98/jfurPUQY8mV2LhlKiVbwXKb+RQK/66JStEvo5fVi2L4zhURNGHltbvFvLGN5VjORI70Q/DoJ03PGMbRa6mXIMz+MLDQfWCT2W4XLfay499w7B/Squ+HMAWIEwChbf/0pfQqEg+nvxRv2hp3M+hx7OaFdp0gdvUFgyDdKE/mYeU+IK6BB9YQmERW+FaWvmrHATJSgSU6WX9SFw0PBtJnV1wKa0zPq16hmLIutMaySPrQEWd4JyfeicQPuophShUkM+RNcw5lsYjfVvfgAdYMAMzImi7w0kxZEBlbGMqOCZ8dqO+5Ro0D/oGfMeRha1t12g9XaYFQgpyZl7LaXRMssGCTGIKzfn4K3w0Ezn0vNHc83MvUk+T3uHjX07X4l8lJQPJk/BHf8oyAj01IJCpAhJMwYLCp1MFXQu0IiTRao84trRrxv+Ckmsqsm04I62tN/SXwxkdlsrIAkrNyypoD9LmMJJqZuBvyZDgy3vA+qVBq7uOa8lghoAK4t5LGc= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1985; 31:UyZp71d4Kltu3W9W/q7nRe+g61lLFHrV4FH3uKsTrh1lJplmlzrDHROtVzYqcszkb5C9UevivVnCSQ/zmSNyIktnGzOLuEZhR/DfoRnNKnisSk7n2vnAoomy5M9pG1XMfaC1UgtIiO1ftZPPzCkM+OaDens40C6D7v9MDmhZwgLOBBjsh0GvE4jgMWvjCFj5uyu4fo/fD82zpjx4BFktlRC29SRugyAhqTTDbxVCY1bxsXjZC1/meWexCGrQ5NEzLrHAIaAVnfdE2oNCof2oRrdB+lIGCYcj/hXYL208Rvj9Ms40dxi7gMsdVCgNqlvEJg6+0UU4zC5LHUQTjRPx1NlAjYj2WQFqH62cw8iTSn+/OOatcucxHSN16vj6+PgGbU6pIoiMudOv4AMo0g1MC18cMxgI2YkHBdtYah+07WtP28NWwmIX5Rz835pop11Lw2x8GY3nBE/Fpf6jCA3oMIc+88o0WkQ+fWlDl2F4Mhup7mZ6MyrrHJvj+0a/j9TNaFiyBW1bZcjEbXq/dHOdrkuELBe3HNt+8oTqSsLuKP9d2+Y4/6ztO0jYVew/N5kD2Tj98FT6E4YoxjRS5CUC0/6bj+WcuDLhZ+6oEjesPbudDePOGrfn2LC1VjXgAiHjB+kJaWYD7Z1hw/F8eLWoRZniyivyAWTxyi+4bd7X/IQ= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1985; 20:c7J5YdI+vYEbl9lYXUgNkDANVmk4W0tKtS6Fb1drJq9xFT0v3iCipOdQP0pb88DdXgEbLkvAHhh3ZkRWuMmxMixbU37z37nadnzCYj+cPBFL9kUNADL3d/qUHTbU/a20aZ3z12+5aEobOI4C6UCXe6JbmseWGVyI7CqhmsaEqEPTMXM05qaWPmz06Z4QFrRrbK85Iyb0PRS8QDXCLREVCX+Aw1dqk2ugRRH9aAZSSC0XFyADe6FR7szHFjeDQVFVZ4HmjCAhO755p1FIAhRObI6ACHdmsMCpWt5o6v2dbzwIQgVr2lLViWiQdZUWzVS0qMqFpYaD+4RL4qEG28Wrpf4fjDhTmHPU7NRRqIvoveEGdTzaMb7Tk3ZLmz0g7jmVlQuF3JLio0aF94QXGxDE4q4WfrppSt6xjJauxh12WU8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(167848164394848); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910047)(5005006)(8121501046)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1985; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1985; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1985; 4:Avg1JhPfATzhthTOKrtVlBDrOOvdjUHdeEO5A0Ri?= =?us-ascii?Q?gVjGpbCWkw7MUy0nopjsivnhgIle+uwPnO57kS2ooKslID0Zznf/0T+I3FEc?= =?us-ascii?Q?z4E8+ultNpCV5qj78Vz3QSVAY/wT8CtIs8S2G375jsYC7EJgfOP+FGnu7zjp?= =?us-ascii?Q?0EuEhhVQzxEqEHsP6/fUxwWOHrFY6LFoM9Qm9/RBIekdi4Tg5wIOcxAgLPEH?= =?us-ascii?Q?n2htN9/uxoJnv/VoLd0PR29k73dOXSnon+lrwwwIx7Kg9AKpucrwD1Xxxaa1?= =?us-ascii?Q?iQNJNeT3SC0tdfRjBbhpdcceL2NJYPLkWHyYCSkItMf0pNNnJG58W9GWw7Sd?= =?us-ascii?Q?xlt+XDy+xs3HcXR7Ks0TJrbGOhqcIOkzxLeHmkVbh0Thn2TOWAwtj02uhb+x?= =?us-ascii?Q?9dQhyiztsrrmM0ZCO135DI4mghWSOrSNusEKIOCIG1pjsn2eJGKiqlwL3mZO?= =?us-ascii?Q?raUZDUmRlewmrF644/LsTLeDgs85Ys8aErHnPz/mqpl4utVmj+ri5toozuYf?= =?us-ascii?Q?oEYrRqv0LHn7O62+TL45t2qhCQVvtm8t7c7ZdEtTt3VOiz8axz0LFpt7As1Z?= =?us-ascii?Q?dbahFg4QOUghih8TIA5m8tIMunsfye/Xt50N2kgb5t6Ab2hgbEPyYm8PfrfZ?= =?us-ascii?Q?BKlTreEq49AcQr6AR8Tu/g/LLOupq11ljbds7z+8CHtJJFKMvVxdPTPhTXDN?= =?us-ascii?Q?hKSXOaStDhZdxRYdYuEoYRHF0AnYb8U88pUDUdqTOpALK9lGi8ERV22jr94J?= =?us-ascii?Q?5a1N2ep73/ERMwN8lE+Qrmu2/BYDl6OXrAb42GW8FpGGegwdG3o5A/fhFib4?= =?us-ascii?Q?eb9mH59IvJdb7+6uacjUmSV11yxMI4kkTQVQp4ppz6v3CIXqx/EZqBfXXOW4?= =?us-ascii?Q?tFQJJ8XYqGgOYUaDQYC9CE2eZYVvd9aLdaqwHZFdWjwSKnoME4lDrHekLC6/?= =?us-ascii?Q?Xjo1Nx67fKOwSEg6KAqOPg1IY22uPaSHycYHvR8Yip+n0YlvbBhqRo8rLoed?= =?us-ascii?Q?nkJDqRLsMfssvxpJzoKVbSprGUSbl2ZixkTBAfGxC9CgabhoNVGNRuvfYr8h?= =?us-ascii?Q?K8q0dPCrk/KcHT18lyv84d1ZIJNGz3IIkj3Bs4j4wgIMbihaAky1DMCThpm8?= =?us-ascii?Q?Uy7bIBZpYbR7IY1CytYpwwZ4FNOLN1kwOJWPAiC+KUwAxQWKRgAV9ZFrTtYI?= =?us-ascii?Q?oo6BrrGJEsG++zyY2kAmfYa4f1eA8m0arucg0vJkLWcgVpPkO+7fJ5OwQiVS?= =?us-ascii?Q?+mUdvgdzhiHKVAsdgbk=3D?= X-Forefront-PRVS: 03607C04F0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(39450400003)(39400400002)(39840400002)(39410400002)(2870700001)(81166006)(8676002)(36756003)(2351001)(23676002)(50226002)(25786009)(86362001)(50466002)(305945005)(478600001)(5660300001)(189998001)(6116002)(3846002)(7736002)(4326008)(107886003)(38730400002)(66066001)(110136004)(47776003)(2950100002)(53936002)(6666003)(15650500001)(76176999)(6506006)(6512007)(2361001)(6916009)(33646002)(50986999)(42186005)(6486002)(2906002)(53416004); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1985; H:xantnef-ws.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1985; 23:Moq4XZvceMGvPNF8C08PMZAbRAwq8WgbHMX+WKK?= =?us-ascii?Q?k2lyFy+Iet2Ps1kVTWe9eS2rWt1Ii7hjJsTjAQzaeJG1njXCPVoZLeUTw9T/?= =?us-ascii?Q?xvVZdQcH7OMW1QIRFBCQbnM5XlxMPTjFWQu0Q7IRwLnm65teCFz6i8Fi4APh?= =?us-ascii?Q?v8izhuj4sLRxaQem11GegRXjrrXmw8QtnC2eZydURCr4pu09gsxs0MyXqPLb?= =?us-ascii?Q?xc9sh9QUuAp4PB+lyO3OIOodK9q/kdBlsfdKH1BUyRGKTkjwRzlsuwlq1ZRy?= =?us-ascii?Q?4WPDCQ4BYAn+2aDQ+5N0FJ0GgnyKmwy6g39KdCm2xIjo1KGApoei/d6FZycJ?= =?us-ascii?Q?ayc2vB5b636cVQGKTH15W0m8Ad8Ym+EqnVGRw+JGS7MDeBzF7sfEapZcIk4q?= =?us-ascii?Q?WpVSafW0q16QW15y41i3NyW78T0f+uOFAXVf0D0UUaPOtST7hOxdgnmUADGO?= =?us-ascii?Q?ytYOi6CioPJC6tpBkY6FaunrDDDvgH9TkaBXUoZ1TfdUGFLJemDDOeVh3vfZ?= =?us-ascii?Q?sjHv8U4yeCUBFykNBpeWvew5AVviFoY2vlT+i+xMkX9KvWyBxJ8c3S8mW2hd?= =?us-ascii?Q?sg5UJhDVgIodeVZsW23BtxgWFYgQp3oc02GM/crG+WQrpRe20AbaQuswVbSb?= =?us-ascii?Q?plLmKEi9vemr3byrRWIDSjhr3XRAxi3MNzu00OIARoiPcis/mN4bpx8PJlVl?= =?us-ascii?Q?NNOsbmos3mNQv2Zst+ow0zbO4nMJtqbyEeP+eebNOQ393g1FRoepzcBs3MHI?= =?us-ascii?Q?13CsX2Gu60JLy7ZL1pecd0QCtHQS3sal+NyHMyg6znHpaauU9wjeE6Pv4qR6?= =?us-ascii?Q?ne3e8So0J703o8aNmjMiI5nPQNWRVrvJMLqxf3eR8PJu83ezL6rv0rF6pWQI?= =?us-ascii?Q?rgoCjrR8QQ85jOyUGyXmsU2fayHtC0sl9GUiGuknB/ScVlmYoIq4QLH4Kqz8?= =?us-ascii?Q?ENygnPabGsKnQP8EZteKQhLJr8arD7Bsa9EzSAciDKTYErkDWE0RkAAiIsc+?= =?us-ascii?Q?E7Bj98cPQwq31N6nv2dbfJYalma0Tx5c5hT9i/+zbZEVJMMHEyJS1BlqKI/5?= =?us-ascii?Q?KrA+xEHXAGUox0Yq+uuXUlMZweMOwpeB3nJq2+WiJr2h4sD1kvA=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1985; 6:JXdDjUZXGh3frMGcPqTRcLSjhZ02MUZq5GFHYai2?= =?us-ascii?Q?6bJJ42usngNrcItfteh7K8MdgbBIutdjwvvkCsfj5JtgBJJJw9vl+n330eFy?= =?us-ascii?Q?Mb9DtLWlnP16ax9Ef4LfvQDwg3uXTSPcX5rVkvCLqFMKWmgPPQiQ4gf2KSmp?= =?us-ascii?Q?V+A4Zdo3TCtujojjEcD0WvDkYDnGiRCS3IiFCfpSMCj4RMRJrYkXfOpiwO7O?= =?us-ascii?Q?3+Dmvyp+5hZNLdPePhlpGlrdS5gQiLWtJYNMbefs8OVqoF0Wu85SePxk5AsP?= =?us-ascii?Q?p/wlQSVUHcxcSiiNZfm1hBWU0Li1bywoFgRiIDCreAXECz6OU2s2kH1kScNN?= =?us-ascii?Q?bhYhJrlSy/EpITAKcYdtCqm6Wl1JW8aAUD2KcrKbUnYCBqsv/GRwYiZqpdiO?= =?us-ascii?Q?ELdBwZ1D/zCeU1N4MtIz8k0rf6AvpzyN+sZpgsitdBkG+Vz/tQjUylkg8p0q?= =?us-ascii?Q?AdHNJW+c4Nv94mOwGU84W7mTc2rCEy6SLeDVD0OrmzuEjdwPce7LKtq8rKB3?= =?us-ascii?Q?ciSWWoscPAwWyuF1qkXqJC/5Uxw7LGfjmLlT7K1gKprylxS/c3J6ISOadQEJ?= =?us-ascii?Q?pQxEFfSgwIwoDxlId2bMKFNRzT2DUAujsh8bq1a2+FjqmMB+NlAf1amS+ecy?= =?us-ascii?Q?RzwnSyvXgzb7IbHDON9HskTvwSqBtyuRDAdU2VbrKkCEkiBmB4eBoLlgR1Zy?= =?us-ascii?Q?sZlM5vlB0esafH+7qkeWExA+s3omHTQKOaSokClUZAZljJsdXuE6HjTaNuiy?= =?us-ascii?Q?Ptxtq95cTbz0jxT3NsfiON9eWY3Fe4DVz84i9Nm2VKEQoXCbHymscDNxqDX3?= =?us-ascii?Q?eArkD1sD1VTYyEhZpbsARy1UAhCS6tgAvhC/XrNZTUT6L4q6pQyOI9YUQX3m?= =?us-ascii?Q?Z1uad68PFRfXjHDbTDA0Vi1M+QI3ibrdZk4QD3kz97Q7OzkdXKO2SAt9iKHM?= =?us-ascii?Q?NxkNY7tHX4xEi9u7GFWBbSBRuoUKGnsffR9XpTHd2oo2V1oMnmMIumlHpgHv?= =?us-ascii?Q?bmE=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1985; 5:MC33uMrI5hJo1WtAXwfDZezbTHvJ5DyHfZqlQijWzDVVtqn8zHL3jOXGlTU6gYaOiwR3STzMnyMqLeomANlnrxzmGi+Xa2FnDwX9TTUFwysA+yvScSEsmLspfie34v4589FQpVeuL3UKGDHPjydkh8x78kYliIPXJbP3KUsUs/ILIn3w+DgqGdlh5wLdwmx5unnjJeXIZH1+nK7ANHsFeM0xxgbc5w+zljfI7vm84qBt0mRztq/tAkFgZzQwGlsG9L3VmvAh+MeAsRJzLi02edeyYgFZ7Z391zqz+VfMsKzL/Gnw8snCzRWHDgFZhdrUmhY1Qn28f5tSlacElgbawbEuvNXxr2pYJUx6RiH/tBKjJzfgQ+4xMIYwL/oiXrHvPYUO/ZLlf8HGH5kZJSfs4RvyLiSGiAfEE2c7JjzoBCPlnEWiZ793d9+KtMBlEx0eB5fqruD6YR7mPjr7X7q5oBHEk+ihLOc0S92yzrdiwtjE5OvtXfVFTDUiW4rXXp2q; 24:eXn9wAdWjAIsv+2Q1JGg/uKjfYhbDpnAoTLkDbIcDwl8awH8zTTsJ86WlOzALZUU6CqAdYuwpqcQp2KqU2R60dmbiJlfPKr/zpJZZ73jCyU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1985; 7:vXcnHV4F/t3cM76+320YWILhQAPWeqe4zM74B/Phv0SYeTZblX2MnRh5+mbOkwRnw3ujM+HhhCmeI8qLzvjGJnvKWDImPbSHgbmuCdbIKOgLf+a1CiHoMAPjnyvfxWKdqwE5LisSj6ThzY1Ql01tHPN3mfxY6/5aPa2UY8fuFB2Xh/2GUqXGhofrrxCy18Rrpe+/jk5pUDxWmVMG04oiW/SItUBbgV6XJYWEoU2PqAynXVHZ16rVk7DTZ152DpYcvNE/kmAa6dTKhvAG1cHmRcH0eDspizRf9exf9pG6LM2saN8vDdYHLpU9C8FzzhHfVOuPZp6RYDaOQusMbRMcywvlInorAzeGZNyN8ZtFQL9Z2tBhz/gAajXxgfCGWKt/0aFq4QjcWGyAQsaLsUI0KBni196WBS5ub4kDO6antRRWglfJdQrjPsLkSVRmCyCGBsTr/u5i/iTrvMZEK8Gz1wCOrj3ap3p3CMtF3SVYvcfk7MmGu3afoIrXnSd+H7gTJOx++eD0BpTIedyAoMryUg/2BZv+C5BOwxfSYjah9eYo1/9S3FecnAfnLzZ8fcu0MgZzpdbHnYh43PweOmZXV2a5baGid2gnf/ASbO+GSdwcCmMtb+Hwb2nw8GomEKjAdutXxTcf19HXhelB+rHJQHI3zvPgYtQf7LQ6Cj9lZU8zpJG4JnGi8lbjs5nOhOUsz5QAGgqrE3VmxfIFF+oa8C1aPzTGOPVzOAtZ+Ecg9ONACTePl3NubW4hbQrbk0x0DBFREnmA5oMskOKaAtYaNWkuMKQmfD7hgSp/WySQKhc= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1985; 20:ZSIMhXZ1leIpi96oAV5u7y9p90UrjIGeUff5tRvfl21GDHsirB8mu/ZzQe2z/G5i1u+7sr+qV+Sbio8+PNUQX/WBzLD5dfvEK9mPPlDFXwj+cUoKFrwoqmhqLZS2fQYj5kTlzvLNKxVwFqkqU5O3FCI28kqSqvz91wDPyc8eAUo= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2017 12:10:35.3078 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1985 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.2.93 Subject: [Qemu-devel] [PATCH v6 12/13] serial: move TIOCM update to a separate function 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: Anton Nefedov , den@virtuozzo.com, amit@kernel.org, mst@redhat.com, marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" will be used by the following patch Signed-off-by: Anton Nefedov Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Marc-André Lureau --- hw/char/serial.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/hw/char/serial.c b/hw/char/serial.c index b4fb8f3..09157f9 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -312,6 +312,24 @@ static void serial_write_fcr(SerialState *s, uint8_t val) } } +static void serial_update_tiocm(SerialState *s) +{ + int flags; + + qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_GET_TIOCM, &flags); + + flags &= ~(CHR_TIOCM_RTS | CHR_TIOCM_DTR); + + if (s->mcr & UART_MCR_RTS) { + flags |= CHR_TIOCM_RTS; + } + if (s->mcr & UART_MCR_DTR) { + flags |= CHR_TIOCM_DTR; + } + + qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_SET_TIOCM, &flags); +} + static void serial_ioport_write(void *opaque, hwaddr addr, uint64_t val, unsigned size) { @@ -426,24 +444,13 @@ static void serial_ioport_write(void *opaque, hwaddr addr, uint64_t val, break; case 4: { - int flags; int old_mcr = s->mcr; s->mcr = val & 0x1f; if (val & UART_MCR_LOOP) break; if (s->poll_msl >= 0 && old_mcr != s->mcr) { - - qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_GET_TIOCM, &flags); - - flags &= ~(CHR_TIOCM_RTS | CHR_TIOCM_DTR); - - if (val & UART_MCR_RTS) - flags |= CHR_TIOCM_RTS; - if (val & UART_MCR_DTR) - flags |= CHR_TIOCM_DTR; - - qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_SET_TIOCM, &flags); + serial_update_tiocm(s); /* Update the modem status after a one-character-send wait-time, since there may be a response from the device/computer at the other end of the serial line */ timer_mod(s->modem_status_poll, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + s->char_transmit_time);