From patchwork Tue Jun 6 18:19:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roman Kagan X-Patchwork-Id: 9769593 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 8145B60364 for ; Tue, 6 Jun 2017 18:30:58 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7A962283BD for ; Tue, 6 Jun 2017 18:30:58 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6F7E228415; Tue, 6 Jun 2017 18:30:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B9908283BD for ; Tue, 6 Jun 2017 18:30:57 +0000 (UTC) Received: from localhost ([::1]:39664 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIJFo-0006Xx-QP for patchwork-qemu-devel@patchwork.kernel.org; Tue, 06 Jun 2017 14:30:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47546) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIJ5X-00060H-6E for qemu-devel@nongnu.org; Tue, 06 Jun 2017 14:20:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIJ5S-0007ON-Gp for qemu-devel@nongnu.org; Tue, 06 Jun 2017 14:20:19 -0400 Received: from mail-eopbgr30103.outbound.protection.outlook.com ([40.107.3.103]:45293 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 1dIJ5S-0007Ny-5x for qemu-devel@nongnu.org; Tue, 06 Jun 2017 14:20:14 -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=K280GzlZicJ+z5+iRkfGjfxINgjpsPfjekZN6nlRv50=; b=bupmsQmjWTJKdFUfDPkLqwSb/gHHxp9MsZKbfA4Zqf6klomFjm8+jMQxPvkqQbwNIjuKhQsTvyXu+cWm1c1BHMH36sl4ux1lmMjpwZZiyJ8Uu2wTu6KOXFo8mNsDq2/S7qFDzNn1JxERFFn0VEuJb749xFqHYDUK3T1/g/fSR6M= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none; nongnu.org; dmarc=none action=none header.from=virtuozzo.com; 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_128_CBC_SHA256_P256) id 15.1.1143.10; Tue, 6 Jun 2017 18:20:10 +0000 From: Roman Kagan To: qemu-devel@nongnu.org Date: Tue, 6 Jun 2017 21:19:41 +0300 Message-Id: <20170606181948.16238-17-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170606181948.16238-1-rkagan@virtuozzo.com> References: <20170606181948.16238-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6PR1001CA0042.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:55::28) To VI1PR08MB0847.eurprd08.prod.outlook.com (2a01:111:e400:5a05::17) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1PR08MB0847: X-MS-Office365-Filtering-Correlation-Id: fcb4c009-09ca-49ee-c284-08d4ad08abd1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:VI1PR08MB0847; X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 3:kIbcngSdHwqdsOTx37VTM1c9U1RISCsNZ60PRJXhwTwZlhwfDSHeBKlwcr2Kt8A9nR6qVJJ3w77DnKeaHsMpvbQ5PK3UOJK8Unw/0+KeCojyf9wHCE4DV9MXnE51EjX876SvyTVoYBvvUsFxkjkL6CRegfC4Gw5f4TaD1WGaI+wsvjqDjl6KIo/+PV0XGCxhgIc1XB8FYGRBGlCBLPwweHORHs0feLI97rLA15fiT36WYfCee6LmjCUpiBMEPocRUy+7KFUw4AzJXvhSiC7PP0wzYGs9jTPh7/0ssV0tbD4fZSe+sz6gHySR7chkJ1mkfehX+CTK5ozz69muz2clvQ==; 25:2FXbbqj+pEDow+EjU9d9OOBXBXpgHgvPZscV3ByJdg8puBdL0GuIWdq07P9slXrrxopRRRIcrzD6Ickz8+4CW75n8NSFKJXJ7b0LJY0vzKF8Gs38JkINUmV7YEnLKQeiAOQmBwhcXsEkVCKujD8BeNo/RMOw8dSoANRVeXWOnpFUSOf1t38Oz3fokhpH2bvxodzg3atATMJtzObD1a00vDtDJwRpKbBvNQuN+jKMsyaTmrIucdC+j+n88lR/cviXEwgSCnz0azBqdHQ3h6/1K32x/OE3n01qVI16WQbfDNIkjjHZRvwV0IHnxfILwbaLzirVlG1nR2t2JaE6UXs4V0LfQjdbje2f2y4/HsaaYX2uckOpBlVm4sTiWW1/oYHCrseM1yaC5kQvx5A7S3MD3zB9jv5IIyG2xwnzW3tcc9IYIqDP+/DT3auol6daxPuDMPF/5FbAibN04N/2igFBrb0o/2jEvZn4cfRtnP7udcg= X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 31:kJlYN9mVJ40dpJnqlLqe5NXygtFAEKlV0b462ssVSiTFkIbHST4EK6fAuwjUJyRbIJTRUIah6BDUYEc12DeaPzrzEIkginfUV+MpACuLn8ZKi0Ftqvb1KsJldoj9GhfXLpQgHasB0IfPOtV4DDEov7pG9vbulzlVsXqvZRUJtexqOzTXbQ2QvNMWkPiNyblb5jNYZ/b/bW8FxQmdop907f3DHuDiA8K/xhUwBzi9wSg=; 20:cyzft51lYHAiLCq6KebSXqqgxoJUJHxfAuVewXiQhGku/bniV/lDyzKdx7DgHuHgxPszEYMG8GIxPcTBra13URlYvW2IVtZxuV53tSaVcAxAE3dNhL2rK6bF3stN8afdCElSikwzG5dY4FdhtnZz8TNFQSDI0ImqvGS+edevO8vyC+cooubhWaZvpYc1Cy1xBMEVkWJ3U4phpLSkgye49DvNPeQ6LBLfNFlQOhrrcVfssOBKDHjn+h7YHBYOj0un1j1wYk3co1jMwxWH29XkZ1VQBQ9h3DPv3AbQkLiKc/0ohxoE5xaxc5n2aRnaFjaGRijGfYD7xC00BLwAvurtaXWbFBVLW4TRU2I94eZDF0MqfCu5pxZQvCe3q20sTza7c/eKMj36HpIQ7Q7ZZAA6jlyU/TTPFaPs1zR9BAseejY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123555025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1PR08MB0847; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1PR08MB0847; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR08MB0847; 4:4Z2cJq5YzP3wW8An+0v7K1xARc33HvVPMluHCovs1N?= =?us-ascii?Q?+5uaxcLJhFv3MMd+Zekll1nswsSkxz2yrdbUpuY4ZLdsI8dR0v0x5YEpZtO/?= =?us-ascii?Q?5gREGFStf5ckCitGIiAhFY/yHUo+PYJNJi81JwoOT3je1ts0nfCZW//HSMNc?= =?us-ascii?Q?VX9fEmnlTuir1gJtYjkGaCd90Jdlo6Af7OQtH8IwP86eRivJgXTJXZ8Iy3Fw?= =?us-ascii?Q?6bMD5WyEy6m3lM1Wt9smO+m76CB6dz3jFYHhmqXufDFC3yk1RB5hnT9mLU77?= =?us-ascii?Q?j+XdjPeFaOkrhS2De/zUM6i6WYQ79sgDuE2sW1NG8BuNAXSN2H81aKmO4MI0?= =?us-ascii?Q?RgMnoXcdksSWSp7XkH2iZ1a3wx/xYj+1R7TAojd5fEJPj2pl4mbsWrrhLaXH?= =?us-ascii?Q?5IMWu5js/f6DaXue1GnT+wZLiElx+Jyc2nn0jXHAx57Ga7+PksYG7nlCAgOF?= =?us-ascii?Q?suEtUXeWzyXnYJiZgR3xRRjhhg+WyriGuToE0+FXt9wFU9wxNi1PaBT3PZs8?= =?us-ascii?Q?BaVx2QVRkgGa8pvruOa5pgMF7xYy99X/NzWthC3WMGdceyApSEOXBoZVBAjC?= =?us-ascii?Q?IaZig0Zdq0R1tINJtRlpnBFwcr/tv2izieNGh9rcPrxkrWTo+c9emYxX8p6+?= =?us-ascii?Q?jxSVE4/mfa8+StsQc38xdB31y7qdBoXg8TBFZReEmdYOzwx8fauCqFhNF1NS?= =?us-ascii?Q?32ncgnfIs7Td1WYPFCuFmBdegsdQ3699Tyjo3sTCU1Vm39XLMHJwEDbSb4h3?= =?us-ascii?Q?b9sULsrE00f8Y+PfG+TJOUO0qCQ/SJCOfy2qEsy63Y7rnr3+hoMwuVt+a1hM?= =?us-ascii?Q?oZ5xeXEZ5wceI0K+V0L43yHVUKHI+8y5KZBZ5LW7Ozq0xk0w+d18n8Axewml?= =?us-ascii?Q?ucmjvy+2+kRV2/hFA8cwu1CEqPHJ/oQke9P0/kYa92NZA/PmKPXMC9YoxEjS?= =?us-ascii?Q?Hyu6qTzrz2x3C+ZALpx0PCdoLFSZHE7A6Bkl/3sCOseBq0KxrqhFk6zC7fgs?= =?us-ascii?Q?xZtNJQIfHjsk4EK8FumHWpt/N/W0QUFLjaVaeMX+A/EGsa6pSoS7u5u0jMDw?= =?us-ascii?Q?KLWOaFQKLt33IQnPKNZ1fiQDb3SdRsMhyaFhrZ5L/3bvAO6utsdr0MoajFec?= =?us-ascii?Q?8p0zbYWIggb2ERuW4fsk6pneqEB2VW?= X-Forefront-PRVS: 033054F29A X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(39410400002)(39400400002)(39840400002)(39450400003)(48376002)(33646002)(36756003)(47776003)(6486002)(478600001)(66066001)(5003940100001)(2361001)(2906002)(5660300001)(2351001)(50226002)(81166006)(8676002)(25786009)(1076002)(6512007)(6916009)(53416004)(76176999)(42186005)(189998001)(38730400002)(53936002)(4326008)(50986999)(107886003)(7736002)(110136004)(6666003)(6116002)(3846002)(54906002)(2950100002)(86362001)(6506006)(575784001)(305945005); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR08MB0847; H:rkaganb.sw.ru; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR08MB0847; 23:XNSxKySpl9LX9kyvfyM1R1d9/uIheS+3Tx8I2iwFe?= =?us-ascii?Q?tNBiD1FtPa44nw/b5V+MsUUqM7BvlTuNqW2hkXBsY+j6Vgn22coDOpjshA15?= =?us-ascii?Q?+PmrP4cs9aEPtu1orveWDeoMyU8x7j4FYLODGKTXeNp0e8YfAc72WcCej/PP?= =?us-ascii?Q?YPW9BOqPnFP1vpqlE6lzU+awn2sLZ5BP9ln2CqIHTqZfBNviDeEqjS6wCwDS?= =?us-ascii?Q?PfwtfJTPmiIdGhq3PniXpTRzJV2luFpZ8H7tlUm7LOkTC62a17nW55cSSANp?= =?us-ascii?Q?ohfoz41uRnBpZLN/DPDPMsEoKXuXEqpZ3ge4STsyuCGSn1/Sb7LtMerMWBJW?= =?us-ascii?Q?sW8o7MKF3TbIrEVVbU8FaqiBqLBSwGMCAOTJhzzuyXnEhV6lqw3f5H236+hL?= =?us-ascii?Q?9jfYPO7W6W0yfpynvCJr2TPrxpuhtuDD6Kk51+ch2RRXLCFDOG8LgWLaqhiN?= =?us-ascii?Q?cC2/B1cb7AQGyOqCDh+9lG2E7BKvTqxgopdPk9kOPYGhEvTgiwZwBwj++wSG?= =?us-ascii?Q?enyHX2vVXUPft3uHITAu16LtseJMlOv1MJE+WcLWdnyMiYIKHauf9yJyw7Y0?= =?us-ascii?Q?PpAMZLBLI8+qL2UDdr27hKF+4NZcrU8b2UEK3rcTqtc0ggbID0aFF9JMS8jZ?= =?us-ascii?Q?eM3Etnv4KsFgyFfwdNwmc4VYJvBgrZfuJhhZ1wFo3rlXb4a9MJ3Od/C35la4?= =?us-ascii?Q?SEDq2TbPqOaassPxmB0sYBbD1uDAjuzA12hKKPLT+gD6CQDHcTEfCGybqDbw?= =?us-ascii?Q?47zuTI1Qnt7hEuozgiZDv3KsjMo3vBA4ohmuQ8h2bMVQ8gFiGHSqNRWycdI9?= =?us-ascii?Q?S2BV1h8Ig3pSOa2F030pWI8spSwdNkG/uvyFjeyJ6h3a1Pa9JCd2AONr0Fqm?= =?us-ascii?Q?6QO7XDuuZnCz72F8YiUSEm+U6r5MlN23oCOEtmVOTp22RucdrPs1r1g5Wt7s?= =?us-ascii?Q?0+25Knisu/dBD82KnslHe80pfs+zd0Hnhj22CR7gp2qiUtwplnPpr5R4IyWv?= =?us-ascii?Q?Qy4LXCJ68oS+WID2UgRTQVGnEkzIe6KnFa8fOUHuWkXfj1sxqKSs27CN4/8U?= =?us-ascii?Q?t1udGvuiaQFe8fE/kAvt4GCX3zXx78v98o0LJ3dr6wEcKe7ktrHxyIvxn+sp?= =?us-ascii?Q?iCoFkkuNNk=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 6:un0/sCahLUVuFOb95LJFbTVhyUpxf0QkryoSSRr8hDASM2MS1VQuXUptALwBqNjnO2cqmqvzujoLR6m508ZcYltZJu10b7SI09SHbNxrPYlBslwRAHQ1thpwaOnhCbYl2O0TO20p1u1aIxmX9ABu45/dcvApG7L+pJFvSOpr/9nbjs1//t5pWDix60r1835EAOvtzHi4M1HArlRpIW7gAJbLeV8fo/wXT1kPxb+ysHSm0gP6VhgZ3d78jtT3nfRuABF/qqY8VCBIL+Y5MDWo2W1tEL/wI8rAurdRXL5UjSKm4No7/MkEZbcTX4N/fJmiusW2I4b75zkGFe1nNbNJ/GAXr8qywjZRIchd2woILtvkSgg1ev5psEQvY8ntALUWgPBQZL8K8GGglHOERpr2wEfYzeNRLMsXh5HcLJ2Mwb8Gv8Ayl0iOhskNDgAxCIlueDuGrLMNs4RiXgKgAYOGYJCwjJQvlAAvnakWyUl0DB4gvKkpJdhtu1ySyIyO5mt5AoFdAqrBCfoCjl/GrE2rPA== X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 5:wOvo+04Kos2gRSLyAgBwuJqF+/ayUy4r6WykekQj8zrm78dG/LgVFOL2DnhrhCR3Xs6UF00C4KA9R7zYftq1iOt8NdqDUIc8IfJsF7e7RhhjocEthDmo/FFe4gX6nBcZM0CbUwJ7EGMwYuH1m/kPjbii3Uj/KCMwD39APQzFj6nfacBrIAcngODQP1KTXYu+ZHnSFNmmLQHMEy4DWu0amCTNxLtzSUMJEIiCCQiKdmxLVa+3kMHZSQ5guf1bxHHIUjzJTW5UoGIbRgXff73su15vyZ5jN0GQhLogQs6L2MOzCClgIW2quYFDuoFdb0LKPnsvBZ+z4zlWf7th5w7jru46FHmJJqwt9JPvPMga/DvYwVPpg9gAMWqGYPTaisdmf9ENtWe9kf2SIN+38T7mr9dE2IgwDCtAKAu0JqwUrBGpHtW3Z/gd9HwbxYIncQq1lMeWH8T8/NyRTE2lc8ZlGBCa+eiSxhJUKawFJYyvX2wCflVTCtnciH0rFh7CidMZ; 24:Z8zbGXDTRm4eR6q+oCaCftgYG5hbvEVFdWTI1z1iQFM6l/xossupZ/XFnc9Gjlvp9T7vdxauH9oqs2DoVpz6ORnDIoE/sTrnBp0qC82E69o= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB0847; 7:nL+7Jb65lzbXP8Oe9nn4S9FC2hedxIouBtxhl7shQKLn3DOo9qx1U+YXkHtruVyVgmlUwYo9piq1fs9inKGbvPQ6389xF+1LxlfJgerqj7HGcVrSY4bgHyTdinOVOO42BgjWmQ6KHuE3T4Wc7RqauSmD/qfiMCEQyV0v8MbU6SwG8tJSwBGkgAaU9yHRBxKzObDh+FaRUeObV5kXwSu5JQ8YkWvAZbg3RK5HhiRhCTYBWFC4meOrWnPm+pcClSNWDQryd9wbZrGLaI2/sf7kCbgLPMW2fxW9lF8FwF9SRryn1PWXEpjqM1LMDHMKboHPZmF/5Y49p36lhdxLUDNU2Q==; 20:GqwOgEClxukMen5brPMCUKc/ve6bmczZJTMPCjtqB3UJm4YlQrxHdoc6kFYmQ9pW7fONSrfxzyFgtpHQ1jhsEQKaWWbt8kTao1qsG6v+SWchDLOa8hwhHDBby4tpKD6IwXp/weSr87ogXEt4ZZN21DDZ4jLowO0/UivvqebILd4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2017 18:20:10.9920 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB0847 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.3.103 Subject: [Qemu-devel] [PATCH 16/23] hyperv: map overlay pages after updating msrs 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: Paolo Bonzini , Evgeny Yakovlev , Eduardo Habkost , "Denis V . Lunev" Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP There is a design flaw in the Hyper-V SynIC implementation in KVM: when message page or event flags page is enabled by setting the corresponding msr, KVM zeroes it out. This violates the spec in general (per spec, the pages have to be overlay ones and only zeroed at cpu reset), but it's non-fatal in normal operation because the user exit happens after the page is zeroed, so it's the underlying guest page which is zeroed out, and sane guests don't depend on its contents to be preserved while it's overlaid. However, in the case of vmstate load the overlay pages are set up before msrs are set so the contents of those pages get lost. To work it around, avoid setting up overlay pages in .post_load. Instead, postpone it until after the msrs are pushed to KVM. As a result, KVM just zeroes out the underlying guest pages similar to how it happens during guest-initiated msr writes, which is tolerable. Signed-off-by: Roman Kagan --- target/i386/kvm.c | 8 ++++++++ target/i386/machine.c | 9 --------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 433c912..b0b7595 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -2761,6 +2761,14 @@ int kvm_arch_put_registers(CPUState *cpu, int level) return ret; } } + /* + * to work around buggy KVM which zeroes out the message and event pages in + * KVM_SET_MSRS handler, only map the overlay pages after kvm_put_msrs, + * making vmstate load work similar to guest-initiated set_msr + */ + if (level >= KVM_PUT_RESET_STATE) { + hyperv_synic_update(x86_cpu); + } ret = kvm_put_tscdeadline_msr(x86_cpu); if (ret < 0) { diff --git a/target/i386/machine.c b/target/i386/machine.c index 8022c24..eb00b19 100644 --- a/target/i386/machine.c +++ b/target/i386/machine.c @@ -7,7 +7,6 @@ #include "hw/i386/pc.h" #include "hw/isa/isa.h" #include "migration/cpu.h" -#include "hyperv.h" #include "sysemu/kvm.h" @@ -634,19 +633,11 @@ static bool hyperv_synic_enable_needed(void *opaque) return false; } -static int hyperv_synic_post_load(void *opaque, int version_id) -{ - X86CPU *cpu = opaque; - hyperv_synic_update(cpu); - return 0; -} - static const VMStateDescription vmstate_msr_hyperv_synic = { .name = "cpu/msr_hyperv_synic", .version_id = 1, .minimum_version_id = 1, .needed = hyperv_synic_enable_needed, - .post_load = hyperv_synic_post_load, .fields = (VMStateField[]) { VMSTATE_UINT64(env.msr_hv_synic_control, X86CPU), VMSTATE_UINT64(env.msr_hv_synic_evt_page, X86CPU),