From patchwork Wed Jul 5 14:02:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Anton Nefedov X-Patchwork-Id: 784633 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 3x2jJs3FC6z9s7g for ; Thu, 6 Jul 2017 00:03:41 +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="I0bBFFZG"; dkim-atps=neutral Received: from localhost ([::1]:46388 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dSku1-0004x2-8u for incoming@patchwork.ozlabs.org; Wed, 05 Jul 2017 10:03:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44961) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dSkt9-0004t6-UA for qemu-devel@nongnu.org; Wed, 05 Jul 2017 10:02:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dSkt5-0007tP-71 for qemu-devel@nongnu.org; Wed, 05 Jul 2017 10:02:44 -0400 Received: from mail-eopbgr30096.outbound.protection.outlook.com ([40.107.3.96]:45373 helo=EUR03-AM5-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 1dSkt4-0007qA-TV for qemu-devel@nongnu.org; Wed, 05 Jul 2017 10:02:39 -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=OH5SzFbMVcULo90EKPPvcqqJfAI7nVkpAeMJCMnZh0Q=; b=I0bBFFZGh4CAz2e0IT6lAbNqu0Cst67bdlCE8nNIk3x+O8uLiJD4YvuxA3t1/es77ZheUl3BGAvWAfEBYjr/N1pAyl0SYbTUOko+05jr9tNQKy2d3+SF/Xol76AXj+RkqChstZ1KuW8lwb/7c23tgyWjkLlwzIp++kctdpVv4Zs= 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 HE1PR0801MB1996.eurprd08.prod.outlook.com (2603:10a6:3:50::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Wed, 5 Jul 2017 14:02:36 +0000 From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 5 Jul 2017 17:02:03 +0300 Message-ID: <1499263324-15184-13-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1499263324-15184-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1499263324-15184-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6PR02CA0007.eurprd02.prod.outlook.com (2603:10a6:6:15::20) To HE1PR0801MB1996.eurprd08.prod.outlook.com (2603:10a6:3:50::9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2894f80f-7bf8-42fd-14a3-08d4c3ae7e73 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:HE1PR0801MB1996; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1996; 3:Ef4SLOkZ/LzthzCJRAHrJrolEw1g4xrKVZrLR5hJZ2CvHFyFVJcUVg96T9a8RS9ytVv51YK5UxIdwXF09okwMcyBOW4R4uKg+0xU1ScAWll1U+cbSDmfikdMVjCb1/EZuERUSSbkytVvgnRSL7UyI2uiyJAY/1arskb71S7ErWyeR0zaZArm0XOcWyv4deSsrIyA5hi6sRFUikpPr3cnD6qYDQiiOuMqQtrhrDNrmcj2eSp/3VwZp/9+qmSZaV8B3iyf98mrQtZMrwPrKj83Bf4p9QVtaNYzWhpm8lZwE2X+ZPEb7snrjd7tloU4gyCsz/Frjd8TABiim1AXhe/ESKwIhr7mfzUZSWyopQwCMGCplbyqlljRaQ+Ksju0R5XnFF+I1beEstAm00/n6sWcNxfTnm7atm22FN/vL8IoIOgIZGcEoiSWU54PXM/GUp58ybw/jjRfu0vwi2U+JWj2DaQP2e/PlAUIcSJWltHXpiSZWnUshJ8LWIhkp7FQjLChVQwPJPqLbCG1eHFQ3HhK9LyBLYNzoi8HVKk47+/HaJQYUOyNzBgATFjpHpYXPsmt1JX0PN+N9fWOqqWrtiBD+PBrpzfFCCZvpl8Zi5qId/7rL8qiYri5drJ4nsjPhId6ueLKowFQitSxqhBcFiLTUXmBjfz0dUQulnyNSaI4+SM1RRoHfuekeH2Z+Teiaywbz9DUq2a7DOBMndmOR1AvEScSHXm6W7SFOnNdOx0Oz6M0eqpaawTmtRd8hZJqlfvF X-MS-TrafficTypeDiagnostic: HE1PR0801MB1996: X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1996; 25:+y4IjtM+pLjGgIOBd+BQ4m99EVNobRdazWqGlZOlFVNXUdwVMx9nriqwXWBVYnmrDZAR9OvKYzhdE0oQuvoV36rab+mPuynz/Csclx/FVTuoPrgxunC03r9eihosaQ9qIc6ppYEtiuClGbl5JJ0bWNWncrJPgzqj7p/SAzSR4vd4GEjBQqko6xjQHyZIubie6dPqxsyxsFf/TFbhnv6vSnqJlenWMiBqPY7NoRYe/JRhtzBadBGf23Qzm4gcm/grdM3oz8dSuDbtnpwyDyyb+lLdMaLnUL85KOW5OMEjyafWuOIqS7D3kGkKLR3+1V5bJfAcPi+f9QEpuGmw9FWhEEkgzdesD+QJbrUtK0aClIOgca34BfB3b3W4djIdjMDqFsZ5mLkmLta0faKIWObHNlI1O3sMrKau/AIQAzZM4a2IPHMUUqe78Ua2hBycuPBbS8IS2Gut5QlrTA/wseKKrvxXhF/QX0l3St9wwnrsBJp3AR86kJde5ku+oSbUGK6sWLxdsydRVEzyYF/F5z9x6MfTVc2+aW1DrldcCpY6bbRrND9+/NkmB2IPweU0lwOqk1C8Zg/pgcgWzNOBRVHmhawamAg7ltEtvNj1T3Tq/2in66UZs4wNxtDfk53gycPSEiltdbhNAVwCz0qDMBmJcBOVOsgrBlclg8mf0uJbhRfQjJRlOSi52rQPHahQ7kYRIPolE+FJIiu1bmi6IWFdVVKsUu8tR45apqqFpmzQNTtRSdmz6aXJufujy1Vu9026IbdoRv1L6nNrPDGdDAYLGYD6BAiRz+W6GhS0J1mZ6mn34cLUQqAeaYrZkX7iZLcolVS8+nyfbYTp40qmdbeHmnmbfym7RlEMzhthu5FUD4dGFGDtcnYYLCWy7sASfsA28fgjB+e4+Zm8sHNK9SGeTOU444Fk9goz+AwnZWYQ+5M= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1996; 31:hD7vun296xC8HeHW0TDRKQAQtktDPUWdYD0QTBY/3lv6yOISgAqgRIBmOVQmLpkJfRTCEyQyPD+Y35UpjKk5vQYvWStf379NYw2PF2vxSGmRdd5fZWPwHnQWJb6Pz7UMMgSnwPdxwzKCoXejkwtGEtLCaKRTyQAwx+YUjMVS42DJXO83zavX185BF6t/oDh7OGKNJyFm1m58Nq3dLP2jAgOMrENz+kjbn1Cx3qfH22dNS0yOddYSXsNgykYtj2E9TK9hrSNsUjU8QJmZ/VqX9dFZRg2RMWu86Z+cER5mJondQelst88Z547WrLZ1EHorvKW4VQ/TAtFbr3foiadzU8NHCU/WsaM9z0usSDZvW3HaPOq2Klluzu73QN1Uypu5fkY3jfTMHs6Jy+3jvr0T9iSIRva2V6r1SsRMKYvNinQpx4ZEDxD+1WD36bM1/PtInbfXO1pw7MD19xWdSaXha+JS6B2mVvB7ZHgU29piWrKEA2+HMOQ1RahhECS8CWQXjPp0gWzB4keT6jJobCbIxFul77o1yjd7XYjlnP5lr6M21mUlcGjUE7Zl5mUtblFzJQ8m2RzgdprI206sJNPjFuhTDQSOUTR5Rn7h5aIAPPZ87ukiO9yPw5DK+kOhETPSNdW9gcgCdrRhBR1zrpRKZXPVzoBfwLww2dI2ntJ0Pr0= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1996; 20:D/+g29FnpPEHx5V9+lN25aBtZ0stMJC6QR7v35sPKhnCd6zHwVyKrhuHBvRjJvWb1ocH+S8+1m1OEK+NcdNuuww/RbEzZEuAKGVGoiBPumTxKakQwoP0i44ia+/x/YRCXrOMTrLig7BZdGphmlAdvvVJVfzF3uAjCNtfLDuK4NidnE0O4EYqtXeGlQB5YTdIVrC2LWRBATFLIN483jX2hoB9/o72djxOC3J8AM14pNWxWLyOm6paHCWmGi29g/BKEkE8iv6Vh3yXB+l1Y7n6CuftPlefEaE1nIE8Xwc0AXDcQmEkpCkr4OX8voe97qrctl7aCjC+o3PIWWG3XQuWfOXLBwUFqYqdmzOE/k+exiL1G7ztjb3IQOZ6MUZSNUHo6hdz7wBY7m2LngKSxcuaaZYhGUPo87SBeXEf7lc16Cg= 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)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6041248)(20161123560025)(20161123558100)(20161123562025)(20161123555025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HE1PR0801MB1996; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HE1PR0801MB1996; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0801MB1996; 4:NF6APjZRDmUgYZgOYlaChWwPl1Wil2orH0NDW4r4?= =?us-ascii?Q?xYifr798424WnPvTBcUg70U1g32AEs/Ar2HmA9EtDdt02Iqn7vH+DzjsNhxe?= =?us-ascii?Q?i7tHNsyNZNqoXq2w96AljaV87wqNWmmYAW7a7GiawtnSGzX6k1rDMiRLWVRB?= =?us-ascii?Q?NAoFN/llDda/NFTQ8zmLd+DZdmNPbEtqt6OXFNLz/5zTVya9Ys/D3O35qNos?= =?us-ascii?Q?AEal9uZexA9+OG0m7UNqkanw/E64KbC8CYYHHoNra2qsK2PJNoxvriqvlar+?= =?us-ascii?Q?gMptHcMexgnMXDVhmJjdkJs3/DXBPIrK82scj8KbPg+aP1QsfWfce+lXYJtM?= =?us-ascii?Q?X3E+kyWqwrMU6klNMv3p/tUXy0fRSa9aswOhRkf4yeYgQDTpBoo9rCiTt1Ry?= =?us-ascii?Q?bI2ea+9Q2BBm1w6Czf0MYsxV1xZXjXbCAscFu4PPQ4sTXT3GquhnI9Ypyqh6?= =?us-ascii?Q?ojNWFrjvfOXRUi4A3umaiJ9wszwBaH45bSjlF1lZGmBt/NQ5DWwXdAiwy1x1?= =?us-ascii?Q?YXiAp/B8SwBXtRCLkx/w5XpO9qD/BYzsQIW8xLE0IhWscp69l+NjX/Mn8iO0?= =?us-ascii?Q?1cUNfqpGCm076uN/T3w8lkP4DXkYQpyiTBzstoxWmoaYjT8/T8cUvqdAbtLg?= =?us-ascii?Q?mtsJffcn7JpABR6wunY9LGmqwRzPmzWHYYUSOGzIEM9x/Zry56BYxRqjg4zv?= =?us-ascii?Q?MekDt3JA3REfIwYgBWwgThia3UpQ0j1M9reZlWyruMxbExaKqcwWOcBP7NgK?= =?us-ascii?Q?BTGDiVlgxzuQ9TZVzqu38jXNsrLriXVlvnUYrGxa6hX/ZoSzsjUnPtNzlonb?= =?us-ascii?Q?HHnWwlkPlolLeoftDG2Y8w0N8IvokM6B8A4MCIyuiuwpdNN5nI9DbG09shDl?= =?us-ascii?Q?k1E8RePwAWD7BHiXSN/Sj+Bv3ueOEyZv474C9nj2Z4qzIzo9xPAAU2MzuExV?= =?us-ascii?Q?Jad3Ql5V1e0lciPZEYyAAjGXp8EjnhP/vWp6fduJ4n7CF86oyobpez1wWiad?= =?us-ascii?Q?myxJxj3EgbrJxJRJWXwgMhpUJR1SMyRJQoPGIaqS4GJLZehe8qg2tbfAnGmG?= =?us-ascii?Q?QzTF7ddI4tRpDGt64LS2K/VSc6ruyc9dcRHlECpwCEhlmDsINEb656e7tJVr?= =?us-ascii?Q?cK/6FJt6syaun8KdWa7lc1bWrWdrShZDqrl4Ymt4RV8nc/lKrqpgtpzKi6U1?= =?us-ascii?Q?cyCfoVR5PONJCrjojvw3tojXHSdzcbvsMMI9enFagWQu/DDmJy6C+dZq1Q?= =?us-ascii?Q?=3D=3D?= X-Forefront-PRVS: 0359162B6D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(39450400003)(39840400002)(39400400002)(39410400002)(6116002)(575784001)(3846002)(8676002)(2950100002)(2361001)(6666003)(33646002)(2351001)(53936002)(86362001)(2906002)(38730400002)(107886003)(110136004)(50226002)(42186005)(6512007)(81166006)(4326008)(25786009)(50986999)(478600001)(189998001)(2870700001)(76176999)(5660300001)(6506006)(6486002)(66066001)(50466002)(36756003)(23676002)(7736002)(6916009)(47776003)(305945005)(15650500001)(53416004); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR0801MB1996; H:xantnef-ws.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0801MB1996; 23:88+W3vl9Vc3J27jGiO3iOdvMffz5Z64F3lbb23O?= =?us-ascii?Q?bD5retaxic+XEKpwJt7BildF66AEBSfLLtdQZYN8OpTa/FlOpRjZ+A8H02KJ?= =?us-ascii?Q?2WH1vAl0GNuPWvPSqtTX48oKkZDgb/pDW4FnFqi/yCmS3wnyDBXmzWcHc+Sc?= =?us-ascii?Q?j6Db1N9PQB7jbC18tM3pL9EluWloILbTYR/DJKuYxNJeMVv84A8MsoHbLQFW?= =?us-ascii?Q?VWOwUETlFS6Yoh3n9hsz/vgPYJPyNPm75vF1pRrKXuxbvKve/l8KSIMxeI33?= =?us-ascii?Q?hOmuBWlqgLPGenOIlyv+jjtClAKy0j5P9DXnhJsm8w2yKmQSZE9NGy6KcAIe?= =?us-ascii?Q?ebl1SvD6mMWO219K6q0pU8dJ3Y0KTni6vJP3piJrDDIqH4QFT3gDzGolU/Fz?= =?us-ascii?Q?U4Eb7ISjWloBs7WD2W7cHxz9w8iBysD23bC/0CqF1fkMMlJ0uursqDF/5krp?= =?us-ascii?Q?RxmfDiIYVR2kbDSa/Cg/BJD9j5umNPQr3pLTdZNMyTYtC9bZbaXuwhzSB4jS?= =?us-ascii?Q?9R1fzMxamquHp5IfJ+qKs1TgHqd9p826HkHHMlA/8TTbAWwztpIIzIntYHAt?= =?us-ascii?Q?H6JojBC9z9IBq7B7hH22diaRXm/Zwk8MZzRogfC8FCBpVCtyMIclsCIlbFc3?= =?us-ascii?Q?tyH0MDFtKkcqNodf5VLMNS1VHrC+VKpCX59BM7iNlqgxtcUsbx9LbsnFRHUM?= =?us-ascii?Q?r03j7xnO2ixx7eGZR8GVrxcHzJ8rWziYpFXa5sTibT263AGFdZ0U4EVSkygM?= =?us-ascii?Q?RoaE0fvf4bUWt/Pk7ai/EdBSP9+8q1ek+UEvs6+D12fXEjMpN+ur3Nz4syZ1?= =?us-ascii?Q?fs2UP4e7PvxSa1UVYZzDFFK++rur0oZNV3fVDHLxwgzWe6jI/KsBBBPxF122?= =?us-ascii?Q?QEGyxEzqhyGYJYjJ0punHLk8+IB7eQluAootG1dtkCKMHPf5fahksex4FS3Z?= =?us-ascii?Q?pBtSkGp421h+s72nptiyRaTrUKXtSOLIYclPGuh4y1AaBLGPOLakhzIZTcKW?= =?us-ascii?Q?mqyaRPTb9E4637VFtUoAJCFzPEH4Vs0sr/dhOI2Xv3RShwMHkZKwambl7DOf?= =?us-ascii?Q?WC8QJmR19LqAQwrRN0D3tohAQKkNBv4wst7fejXYWqTLoAx8z1oz6tc+ZIwv?= =?us-ascii?Q?TE6/LYJFSpoE=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0801MB1996; 6:JCednzfco0leUrd2QZcql7SEuC4s9pEQJDM/3HDG?= =?us-ascii?Q?EBH0JSoVHpFwQt7rCOu2/E8CBoV34PiiaHtl+iBljXHwdhFzSFRzyY4OSbjM?= =?us-ascii?Q?rhtolTNAhPzAmCtT4AXvQPVXYUc7oHKr5kbQXMNJQfsnwfe+bWB+DS9nHUuK?= =?us-ascii?Q?R737zgapSQnE9zEzMjTFYSmW3HdgasQTNy6rkkxEHXW06JtGZsah3rL75ZTs?= =?us-ascii?Q?gIuDntRxYueumyAMmTeAbNVuYt4NPx6mG+xsgGbWLfnDNRuS6/0y1UMRlPVk?= =?us-ascii?Q?U9MXEMbjchkUtKIdXVe/wC9NGCng+IndcK1fiY/qGI/bPN1ZqvLxvYXbN8t9?= =?us-ascii?Q?SliHwZeM8mAEsr4AMyfXTOTl05Y5e7knoTB98rYRC3oZZoXxjvMysjJefifm?= =?us-ascii?Q?lSvfPC+f0II3TArv6DL6v0hhLZ/4lXcz58weTWJBi88TXTQSc7tv/bepXIai?= =?us-ascii?Q?UG+1K64KVAtoPS4vELURtZJW46oLaaEzv5pJBdBQ9OhRXfEUZ/523PFGO+68?= =?us-ascii?Q?2BZ3Z7zQGdRYojXew+kQxs4EE3xQgCn4TKDB+Uwjx9K+Xf3GToUHVq6RKPBh?= =?us-ascii?Q?rcXAkUZ1GhOd+LAQoyzbzU+25by8EfiL3wvV4qbp48FLXRgJEToZ6za2DB94?= =?us-ascii?Q?QZZrYz1ywUBJ2NC1DpcfXJcM6gVzY5PMMJq9izpTd9ebouFb1g7JkXhX+LG9?= =?us-ascii?Q?oee/ijR2O3kXFGzRrn+Rr69YdQuND41+6gqv92FJNPFJcx80hwVB63sMhfD8?= =?us-ascii?Q?PZKR/qpPvz4mKQyDfTLGQsAAwidGwbkZYB6uMG9jbwnfZw0tQXTD4sVthaiS?= =?us-ascii?Q?FGkyTonmdKBJM1rBcTruW8Dh3dh8LN9J5uiO3B+Vqz/VaLecVanHVzeu7puC?= =?us-ascii?Q?c5K0Qh7oc0tAbTfH5BQbCaTRCezNG1yQJ8Vil9IP70kAcLoXVEidsGO35dYu?= =?us-ascii?Q?EwCE4BOErciICckKRk+CfSaJDt4gml/0N9rCpZLoO4zfwbqqcK0LKbDnLRsS?= =?us-ascii?Q?4P0=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1996; 5:lrVft3FdGBTPs7ad1IrekCfxH5l5CRQxGuJMaFDlSUdSZbZHZmmtL/UNg8gKtk5zUj28mffxo+WgKlsVEUlcKvZEByA3PinuDYxtncIlICuaBzMe7hsQ8UGpH9D0bMv29rHbWr2DrBxkOzvtDb1r+ebLl/W0KT4fmteWus5lvWFiO2PEcZQjQBqpHaemVoyQ0uh6iG4ojJIDVSsvpgKVFqfKXxBfLtJFxMN9vCFLc1xDCWt9tlp8ngpsrWIY1ZfewOK6+cq6MG/A60sVgTPsP9Q2LLFZGVa1QzH/MBZ15g9srElQq/HuH04IXCLVQI9fhd1/0uVkxJdBtYgcbQ5s5K+r+HaSfi7JsQxEkT1eW1XB964fWd7WGiZdwn6qi5r83w68y7J2BQ1D/FpzkFz6/jTdMEaNPttybfP9G1ZShRawHylWh1sFyy5knGEzgaL4c1eUgGhniZTe1Ud/vtP5aIlgdS2fyx7Vv6unwo4HLTAO8Ms+YGc3JGSEt3VPjjZ5; 24:6ThstvXGL9CvgN1AW6c9V0LNDsFnprLf6PKwL6aFOxrR9o8TzXlqfALqnjLrHlkIuQKht9bo/5/0qkgAbq+NDu5h0pRZKkzxUHg3K876Vw4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1996; 7:AwlMdYrVpmK3Ei07X8k9aiR6DbhVF9fGTTsBKWyFB9eNGhJRqYjvwWpyy88kanyA/+wLI3Px2bu58xlFGPU+C7jHQs5sVFv6nfqA4Te1VQLqPzkClBa2zYT721eOhgnmOakKRBAUl6iq4UiJ0pbmGfVVFxUKL1MQJcSfWNGEV0TzYYpL+r5wXLWIHPHy6jeBlGO+E/797wgbp+bw/uGRSa7WK0L/P6fTKOOmbu9bH1QIKnygX7XZYDQ/ZOlljZks6vZDBr2XC4k2A5dr7JEwA+6F/JL4EgdSg150u7G3hWP7L0c/SS797RLmKOUJoBqyAO2ImZpbOfCCy7HyY/hQaDaVCc74ISxoJ1PTgY8e0wyUzHrCn8c438Fq0BLqhLb4MQZg6OxQOk/Ih/w1IMu1zUVTwQoAyK3l0sFls/2v4aQ8Pjqmpn6xD/doc53Tp1uJlzaKdGlrowdF3k0m06Z2TL4eZX2N94cXMkcQo7FwIa5t5beQHIN6hkhOn6OFimJdTae+pmrFa0XOUhtizR/jEpd3gRS+YYb+RLuIeiJnKnNxJSfOXn26A5JB3S+9UORgz6FSAFTMKdNmScWS6qzD0qmAUFQ1p21ApwaG5zCfDrnX/eMmWNk8awGeRn89BgOUU21AjxxxpDFqgEAW8BX1J1WIM+0nXbnBgjf6X9bS6OJxXZ+qTDAxQ4DdCljHlj2JBcA6iM3b4f7dJjRKWGHT+Oc/52Ina44vDW9iE/VaK1bzbGaZGEKIQxR37uxszMMQJZOxFoi9c+PndL9BNvw1tvejm71PrA1MIlQH/iuRcn4= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1996; 20:XwR6P4vpIt+FumsnRaLXavg9O59HOftcmdW8tacUnBy47YR7jO9lkWR+mXqTVCp9l+4piN4aWtC7SKrYcztUrBIL/+FdXJn6ZxUMvahLhZx5lGJbPSjxU+Hs7MkKS5iaqrm8y5m4p9HC3zSoUXDzkinjDv0CwtNHy0J+5VHZhvk= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jul 2017 14:02:36.7091 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1996 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.3.96 Subject: [Qemu-devel] [PATCH v5 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 ab14ca4..e47f0b6 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);