Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp3605027ybl; Sun, 12 Jan 2020 22:33:34 -0800 (PST) X-Google-Smtp-Source: APXvYqzH69ZNWWfsFK441rRyJ/3wNk08lqUaKVoJUu7GSspVeq8yhQy52QIAIrTTi7Wtrn+4CrS/ X-Received: by 2002:a05:6830:184:: with SMTP id q4mr12189203ota.232.1578897213924; Sun, 12 Jan 2020 22:33:33 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1578897213; cv=pass; d=google.com; s=arc-20160816; b=EWxxUuO6tPIkm3EK6rlZAxUNpOG2zHQbSgiOYIPKT8PqA08f+mGA7/I4HS82FlB2Jl X91D1cHWTgGfjT/y01bv2RJw2lIOcsh5erVLvW+4P+3xya1R0NY+WpyoSHkMLxkqSdnR i3wAqZf6uUxmwb/RqX3qBlZ7Lmy3l1LumDVMJ3NIB8wEtrPxxfTNRdebEKFYIMfnCYvT wm3k2XWzJd7c76jXpOwuYkpuDGsYDDOI7H5Ic2mC2bv0+uQVPBW0SlGg6NmnOHdAuwsA eAhB0+fFUE+584jyd1IQqg8Zh2Bzs/CoQSrCBpi1InacsfCIfHKTr+4gW/jgAreKjH5a 6yuA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :msip_labels:content-language:accept-language:message-id:date :thread-index:thread-topic:subject:to:from:dkim-signature; bh=g8tqkotIIT2pEkduQV+oC7XbsMW0phpFy8dvhWAZ2p0=; b=a/yQh+Q6I/0H4RHXMjlwJMPHNk/4H/ArS8UlhWL9HSPyl82C8Jt3v+KzC+3NqD8MC/ Bs3BZruH5Pn4Jv8YIZO81DEnJsQOG2VEuCNPN8gKrsReKSE04ZH60fj5Iy+R3IGzC+1R LDiFn1pCwwefNqKx6BFqy7fD++hBBl3bxwRjFH3itNTFuKoetmlApkPpH7uGwyGDsemP Ij34AcA8eCbfWISKRG91C6snXQYLAkv6ZixHK1xharHPgj2DhI/yIb5G5bTGNJQnD09B GiDAdjXobfVWixke8SEebYjNNu7V8PJM78JQiTS6ZMARWZHcvVy+pep7qRB8o3owkafS Hsug== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector2 header.b=L+z3vMtd; arc=pass (i=1 spf=pass spfdomain=microsoft.com dkim=pass dkdomain=microsoft.com dmarc=pass fromdomain=microsoft.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g93si6305757otg.231.2020.01.12.22.33.21; Sun, 12 Jan 2020 22:33:33 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector2 header.b=L+z3vMtd; arc=pass (i=1 spf=pass spfdomain=microsoft.com dkim=pass dkdomain=microsoft.com dmarc=pass fromdomain=microsoft.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387653AbgAMGbH (ORCPT + 99 others); Mon, 13 Jan 2020 01:31:07 -0500 Received: from mail-eopbgr1300125.outbound.protection.outlook.com ([40.107.130.125]:22292 "EHLO APC01-HK2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725909AbgAMGbG (ORCPT ); Mon, 13 Jan 2020 01:31:06 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dXmIA93krHNViH1QYhxTw1EFlQEJ3I2LcxiCaVAN8YFouukQ/j6iqoj/O41KVaYUf65RUAmMdB0yEOnN7Q2eat4n8VfYz3536p/HyoKSSLmQqUFqNSj8vwkSFrDx5yiqcl3lj/5gUHC+SWCO3szD1vLkNABPR6b112dufo3aCW26FS95D6aRDRvtnSdHT/XbYdYeJqN27i7OBnQauhnUwmwTPYG2tGqyKsF1kBUcEOqCBGpMLh17+DHnJLVXuUFf9KF/up1fv6kGtwlpfNx7H5blncN6DwCJONfVZsrajlZstZFVPAras1TSv8U5P6ZcXA8jriRQoFBjeof6bCRd7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g8tqkotIIT2pEkduQV+oC7XbsMW0phpFy8dvhWAZ2p0=; b=ITcPS51zNArl0p/q1omq/k9B100mD6TSjdyZ+FDpTAPiJJccof6d9TbE2/AoI/Qm1OzvrYP3chGno5uhKj7tZo+A/iM12apBYskIjEMn9tKyEVAHzXjlczh6ccJvHr1sbjhFFtD2TJjjrZEk4WotEbYBTYFSJFi2/lmmP5yzaqv3Cnf7AV3nicUK+SHZSPtB+vZw8Ubb2UjB7UdLP2iScpq9ywxJq6Bac1woO7pLkacWp84OHq8Nh9Uc9MAe4CA1eEmNOqGgvHCFJrPjCpmX8Wwh/vqy23pAbw0Ac7UAYffIIZMRZocKul7WX021cKtE9YzG1V1V8n4zINNv5ILhvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=g8tqkotIIT2pEkduQV+oC7XbsMW0phpFy8dvhWAZ2p0=; b=L+z3vMtd9FF5T9t5wunqt8qn0wow13M3Y0eQwdr/jhdaPKgio9OXVtMKYPur9Rd+3V7uUQOh2k8aZgLZA0rCAqdigd2AIQPUreKnWU0FlaPM5IvpTjYJWn+4t4dbTXrYQVjeDBdm4YrfsmbCMlIdm0NCVWkYn6DmmC4ctZOLMik= Received: from HK0P153MB0148.APCP153.PROD.OUTLOOK.COM (52.133.156.139) by HK0P153MB0324.APCP153.PROD.OUTLOOK.COM (52.132.237.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.2; Mon, 13 Jan 2020 06:30:58 +0000 Received: from HK0P153MB0148.APCP153.PROD.OUTLOOK.COM ([fe80::15e7:8155:31bc:d4e7]) by HK0P153MB0148.APCP153.PROD.OUTLOOK.COM ([fe80::15e7:8155:31bc:d4e7%7]) with mapi id 15.20.2644.014; Mon, 13 Jan 2020 06:30:58 +0000 From: Dexuan Cui To: KY Srinivasan , Haiyang Zhang , Stephen Hemminger , "sashal@kernel.org" , Sasha Levin , "linux-hyperv@vger.kernel.org" , Michael Kelley , vkuznets , "linux-kernel@vger.kernel.org" Subject: [PATCH v2 2/4] hv_utils: Support host-initiated restart request Thread-Topic: [PATCH v2 2/4] hv_utils: Support host-initiated restart request Thread-Index: AdXJ2v+CkGXQwSJARV+SWgYtZDG50A== Date: Mon, 13 Jan 2020 06:30:58 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=decui@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-01-13T06:30:56.6858983Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=6a12eb12-6152-4624-a9ab-f6645601545c; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic authentication-results: spf=none (sender IP is ) smtp.mailfrom=decui@microsoft.com; x-originating-ip: [2001:4898:80e8:a:fa69:ae29:32b9:aa46] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: b771b6d7-02cf-4191-ee09-08d797f226e3 x-ms-traffictypediagnostic: HK0P153MB0324:|HK0P153MB0324:|HK0P153MB0324: x-ms-exchange-transport-forked: True x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4303; x-forefront-prvs: 028166BF91 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(4636009)(39860400002)(396003)(376002)(366004)(136003)(346002)(189003)(199004)(5660300002)(10290500003)(33656002)(186003)(7696005)(86362001)(2906002)(6506007)(52536014)(478600001)(81166006)(81156014)(110136005)(316002)(76116006)(8936002)(9686003)(64756008)(55016002)(8990500004)(66556008)(66476007)(66946007)(66446008)(8676002)(71200400001);DIR:OUT;SFP:1102;SCL:1;SRVR:HK0P153MB0324;H:HK0P153MB0148.APCP153.PROD.OUTLOOK.COM;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jLig1+LmNUGH/ebgXhVhkAa5zn2AOVPglBsxdpwrMa6JyaP9ia9GfpoesUhhYMqzZjXMkIh44PmeMv5MerthZqGdB1Rr7579yBuENSxTBQZGpwq39t4i7asb0CY5rkXQfZZCG8LHKc0LL/P0wG9hdRDwP5UNMaD98f+p8IpOzoXDF2pPo37Qcvyjn/IFp3N6826M3az2fQaMYAAIHdBvL3JcBoTkSy5t4vP2RnZRJaaNO/gjHgS1mszabE76mesW70n/FWVRT7Ea/4GYwwi1yp5RhJO0Q/eVnbXy64is5phl0R0o0TpKHlVCsid9GyBrYhd8hnkIPPFUZqKlc8HDhW34iLak+K3Tz0NWMDpjXmTZefH3MsK32CkF114WUFjQQ/lGjpSMCWjbMXHf3asufIWhcwataHbSpbunDMda0sZYYCBJNhzuGfmV4D8vUetj Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: b771b6d7-02cf-4191-ee09-08d797f226e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2020 06:30:58.2438 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Y7tVtx3qSlYHofaOW7YS74S3o4Kjy8tW96KVrIuZpzFVG4wJAl3reUDTPPgwquGNHGsnK5lsSkgM+Tq3mNRoxA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK0P153MB0324 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org To test the code, run this command on the host: Restart-VM $vm -Type Reboot Signed-off-by: Dexuan Cui --- drivers/hv/hv_util.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c index 766bd8457346..fe3a316380c2 100644 --- a/drivers/hv/hv_util.c +++ b/drivers/hv/hv_util.c @@ -24,6 +24,8 @@ =20 #define SD_MAJOR 3 #define SD_MINOR 0 +#define SD_MINOR_1 1 +#define SD_VERSION_3_1 (SD_MAJOR << 16 | SD_MINOR_1) #define SD_VERSION (SD_MAJOR << 16 | SD_MINOR) =20 #define SD_MAJOR_1 1 @@ -50,8 +52,9 @@ static int sd_srv_version; static int ts_srv_version; static int hb_srv_version; =20 -#define SD_VER_COUNT 2 +#define SD_VER_COUNT 3 static const int sd_versions[] =3D { + SD_VERSION_3_1, SD_VERSION, SD_VERSION_1 }; @@ -118,11 +121,21 @@ static void perform_shutdown(struct work_struct *dumm= y) orderly_poweroff(true); } =20 +static void perform_restart(struct work_struct *dummy) +{ + orderly_reboot(); +} + /* * Perform the shutdown operation in a thread context. */ static DECLARE_WORK(shutdown_work, perform_shutdown); =20 +/* + * Perform the restart operation in a thread context. + */ +static DECLARE_WORK(restart_work, perform_restart); + static void shutdown_onchannelcallback(void *context) { struct vmbus_channel *channel =3D context; @@ -166,6 +179,14 @@ static void shutdown_onchannelcallback(void *context) pr_info("Shutdown request received -" " graceful shutdown initiated\n"); break; + case 2: + case 3: + pr_info("Restart request received -" + " graceful restart initiated\n"); + icmsghdrp->status =3D HV_S_OK; + + schedule_work(&restart_work); + break; default: icmsghdrp->status =3D HV_E_FAIL; execute_shutdown =3D false; --=20 2.19.1