From nobody Fri Oct 28 01:21:27 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Mz4Wg000Sz4ghgY; Fri, 28 Oct 2022 01:21:34 +0000 (UTC) (envelope-from weh@microsoft.com) Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2094.outbound.protection.outlook.com [40.107.215.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Mz4Wf3ZB6z3j7W; Fri, 28 Oct 2022 01:21:34 +0000 (UTC) (envelope-from weh@microsoft.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W3eDtmCyYsv9mzcHU6DXhBZwJfC24SuB+W0J15rSPXyertAHfbh6f9zOb/sQwecDOCr6qnR2Hq2Ph8MqOAQ8Q16XX0BoATvSATAm1Pstw7JWOXxi3v/i2Iz20h0K/rPYqoIO8i4zFQY+NiEDbM54mubCvD8wi0SOLJt465loOmCW1t0j+Sn1WwEfr8rEOVw90ThfTyJtN9aSddKjcyNBoLw8GRDlY2/n89u/LXSLR0lo5rKeTT1wnUr8aUQNT938IzwY4d4xe2kMH+h9HcgwJIwF3A6faSByqbmxjPx80rQ+vZzlj6/fiahgCJpgeuCsv/5Vu2p3cFGzrMMYPnmzVg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BZ1j6yz+g0LBGV8VJ886L80a4H9Tbw5oc8nA/RyKMYY=; b=Txld9yq2hzGbM1A3+E8VQppYRi//7f0qQW+LOGhfxPxymW8bfS6R3IZ6RmuD0n+Q2Dv5xO0K6J/qlcG3LOmZ6XsQMxFK/jTLiOzawkeMfTEkyqSkfCl5tDWeZJCmEY+L1334v5YWnVsH4l8vpWVJokmTeShJTBZLMgAXU3WCt1eLVrImddtcsDA9TwTl/Exc/MCckgl0NaxVsxrs05ePipHjeCs/UbliPSqOBEkG2Rysa18i4igPH8QNLZHP0vRJeM+yi9VNM9A/2sISzQbD7DDiMUxm36fQoqTSHyp30Kk4Rs5gv8LR8mukpRfZwjxaZ/alOUmBhEXWpafwz6na5A== 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=BZ1j6yz+g0LBGV8VJ886L80a4H9Tbw5oc8nA/RyKMYY=; b=eldmkJT68plmU4XC2z1Zl92ek6pmIbfYC3xuJqC/E2GR/VAm9HVJ2BUJhDg+OsYmJ5GdCz/hHYtvJ8jkGK5brwoYEleC9zYSARL323KHw+sOIoZgZkJ0NL09C8i4tmIQXdK/OnPCtQarvjCdT2N8kZjEqWH15qESoL2L7xt6AXE= Received: from SI2P153MB0441.APCP153.PROD.OUTLOOK.COM (2603:1096:4:fc::7) by SG2P153MB0378.APCP153.PROD.OUTLOOK.COM (2603:1096:0:8::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.8; Fri, 28 Oct 2022 01:21:27 +0000 Received: from SI2P153MB0441.APCP153.PROD.OUTLOOK.COM ([fe80::2112:fd01:38c0:6a5a]) by SI2P153MB0441.APCP153.PROD.OUTLOOK.COM ([fe80::2112:fd01:38c0:6a5a%4]) with mapi id 15.20.5791.005; Fri, 28 Oct 2022 01:21:27 +0000 From: Wei Hu To: Souradeep Chakrabarti CC: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" , Andrew Turner Subject: RE: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Topic: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Thread-Index: AQHY6guqgVTtqNix60WeYnOdZN2tzq4iVFcAgACSKyA= Date: Fri, 28 Oct 2022 01:21:27 +0000 Message-ID: References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-Mentions: schakrabarti@microsoft.com X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=03b0c3f9-b8dd-4182-901d-35dd3a0e70f6;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-10-27T23:39:04Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SI2P153MB0441:EE_|SG2P153MB0378:EE_ x-ms-office365-filtering-correlation-id: 84f3e976-ce9f-42ac-56db-08dab882bc5e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jhTBjz0NBmOpK5TfjxW7gu1boPdtxZVQr5ob7n6MV5Jpy0Lz/Fn3xGY/G9Tgz0BvpX1Uw1/0TnZvIPrCFdsfN7d2K8m43GnxTyV5mGvk66QkQVpxIC0H4Mh5+z4E8u9zfGJOMrlAiNK8O3672N7IUYjDO3NzlmLMlxRwwMxS9aHxGHSMwtPbGhfa3sRY6tpV8qBWgoCidwaC+tBf/xpLmbTBirDcgxLexQChd9PL5VcwJwFT9zfq95JMHdc8hIULPhfYGdhLaqx+z1rW5DjsIeBqRx/tmyPp4N5oRLnBCkIXw62HqcaI6jNeBLcwwzu8h4I5t1fP1+8vM4Bn0G5I/GTyMZwmXa1hbH6HztReMwlagBXw7vLUSibBrGK15qPNZ0rd+R3msMiFKA/qrRRw5iBFkn1+kZdJn3BbLWggWQQRbglT7rl0asGlmJX7gPaKny25QZkke6/y+QvtwxK3sq+tzV/hdSxoiZKFWrhbjXJ8kW1hzPI/CpIeIF9u4kxcbDmVqwTvXQKkUN171/ckN3OUZ87D3S1wKuR7RiaEdqpKXJhP28+Z6JcT6BQ1/sWh3QwwLGVt3+dfidyr6QoWbhjfFxkAVZtvFyQY+kjGJ+B1a3aghHb0nnT+4PtfS/ddaCrJE9a+T6EMVd7y0wk2jy9Cm571d3jCUrHd8RPsa59oklM3mxP3wkWyHZkw/IzTfBsD7WOVLIjcCKnY1+lQkgeaVMoQmrT1ARw2sPlfA0SyXS4KbnsJ7w5//vhLWhZN7pe26RtceGzchlPzECh94DouNEz1EUEf4KDhXMqZtyTsD7+DxMkmbf76dwcu0WldsyEJRiztMZWZ0KhMaeSgEv42EnVr2MdA/3H6UfVhmxSywrY+BCrdN2Nzk0s3CBJt x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SI2P153MB0441.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(366004)(376002)(136003)(396003)(451199015)(86362001)(76116006)(33656002)(66946007)(38100700002)(82950400001)(316002)(10290500003)(4326008)(54906003)(82960400001)(6636002)(64756008)(66446008)(66476007)(122000001)(166002)(8990500004)(55016003)(38070700005)(2906002)(478600001)(53546011)(9686003)(966005)(7696005)(6506007)(71200400001)(66556008)(8936002)(41300700001)(83380400001)(6862004)(186003)(52536014)(8676002)(4001150100001)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yWBBQJhb4up1GCsPTqFfPmMIpp/oLXB5W1qdkj/IqkrN3lI2sTvcoyQ4v8Q7?= =?us-ascii?Q?U8E1RFCq5suRUUXZ13Ynra0Rk7iCQjYGoV4VpBRyW7BNp6oEe1lpz/zbSBcN?= =?us-ascii?Q?RSH/Zf+9LFOzGbtEl5BhTkGBC3LtOROZTgGPGJ/CgyRoPXL0sNXz2zhHLGSA?= =?us-ascii?Q?cF6grO5sVf0ooAE7C9oHCpKnQmifWkur3ce7ydfCCRZPcUKCyJypSW291x9p?= =?us-ascii?Q?6yQl0JEtKrth3SqGy15Kth4M6M5jSGji4g5lobV0aspp9Oh+IfFE/st/n6D2?= =?us-ascii?Q?EBorVREfAXEUFZjMsSMOQo9ph9B//lFdHpFnLpvGIwRAqDcb/WKUGdFS9q5M?= =?us-ascii?Q?Ulc9qStDYHY+9RmF2AxR2HGU6N4+jJvh6ctWHIfSsjZb3Dtjp0/KCtS8uf4f?= =?us-ascii?Q?QnPBlTp+KGljavXRhu4cNvsCIHQWZQ40EPv061nmZ25YfdF8tKo0DgNC/+XP?= =?us-ascii?Q?VIOzQYc0d6EnnL+Hn7aby75PNUh45EDVZNzAB+Fg9jMgiZaLw3/HhIV+eK5B?= =?us-ascii?Q?aFnzZDfGALxX2YN6lhcslJy7YHTGDsMK8EMMOMYZYjhti1JVE5YCX1Z5cNG8?= =?us-ascii?Q?lHOBnSRO9jwknW0l71oKflivom1SmjQdhVwIm2rs1eXBQ/+EC87H4LiSawEx?= =?us-ascii?Q?OJGaNmc+sMCpESmkGTjAByfsTf0vXwv3GVaOfzaWqfe4jGLkcqmbn192Gxvb?= =?us-ascii?Q?BBoWKhpcgM0cwjl5/kyi07eUvPAcs6DfCuFGK/LPUHVBJLF/EOmgRJe/zcEV?= =?us-ascii?Q?CaQeGXROtoKb9utnj7XyNBjMZD39EN/7qbz5zZwXIvBEngmikli1Oo38ZClN?= =?us-ascii?Q?hcFEoLK62iV/tXWC1mYKiAUD1wzkrx9m4htLln9TEJHCCGEWpuxCQgmkwvp+?= =?us-ascii?Q?eCZAU8TwGqYft3MZwhe9slJKgnqcnXIF0cd74jv8rdGBP2La7fslk0DUUNKC?= =?us-ascii?Q?19Smnd7GQqOGw15G6KhqB/ZYGTVrEVzub1l1xfkEwMDpoNaT6LJq7M+8ExSK?= =?us-ascii?Q?2li5GrcGBlIVmyZpadLfVK18sEQ6QjSDwh7XNLAYtr5jPrfQtcS5NYNLUiT9?= =?us-ascii?Q?vbT0dcNMgyaqD+Y5/i3+LddfeL6dApkQl+3mHE4kk7obQbMgR5L2MIRk7D95?= =?us-ascii?Q?xVmttIByy0kvxnN7VAvpGVVPLe3hX1M9ruOhn9V9uLz00pEZfiHtnfju9m6F?= =?us-ascii?Q?/R+1AAIUIQy4SzhwCCT3ehhzf8FruXOt6ATkcMANiXFsQUhMYqYQiRz/kjMY?= =?us-ascii?Q?h36nEBSlWhhu6HTNi20lyVdcmrCFiw10gjFxjFXQWm2/J64KjBfOuYWeWyvN?= =?us-ascii?Q?owU8NgT5qaI0hSCWMQZX1rIoKGbUeuGuZ+2hz17/cdz6xPScKfC5JMoOI/zU?= =?us-ascii?Q?OkS3yXdcjasu4phy+7A2xBXv+jZOkvkWWwksYAdXJMw2g7EYS4uFs71rrQ2t?= =?us-ascii?Q?7CKuPiCi74Bmg6E+pCl3BHntFnWiDlBIv4e0zLg/V7FivJ6i+t4/tWuDLxfD?= =?us-ascii?Q?FTwmszzJMqDfxpgkeVms4TOaiudIIj17JE12gnD2eugTLxapNgVLtPRFO1Oz?= =?us-ascii?Q?YX7kydo8zRVO82+dwZIcCnTgb0wJxe+cqzQDZ7VXYmSSVh1Drfc9MwZitEdu?= =?us-ascii?Q?Cg=3D=3D?= Content-Type: multipart/alternative; boundary="_000_SI2P153MB0441AB89A0CE6A99681A3615BB329SI2P153MB0441APCP_" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SI2P153MB0441.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 84f3e976-ce9f-42ac-56db-08dab882bc5e X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Oct 2022 01:21:27.1435 (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: edA+hwObklbSeEkZQOCDEHIHy2AMqaUFka6vBSkJN5iW07utKSyoFeMhCv6SmFcpQeHoiP0fF+p7QHTsLyUD2w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2P153MB0378 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Rspamd-Queue-Id: 4Mz4Wf3ZB6z3j7W X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N --_000_SI2P153MB0441AB89A0CE6A99681A3615BB329SI2P153MB0441APCP_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for testing it, Andrew. @Souradeep Chakrabarti, would you help c= heck the hang and take care of Andrew's comments? Thanks, Wei > -----Original Message----- > From: Andrew Turner > Sent: Thursday, October 27, 2022 10:56 PM > To: Wei Hu > Cc: src-committers@freebsd.org; dev-commits-src-all@freebsd.org; dev- > commits-src-main@freebsd.org > Subject: Re: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for > ARM64 in Hyper-V (Part 3, final) > > I was planning on testing this as I now have appropriate hardware to run > arm64 Hyper-V. I have left some comments below. > > I am seeing FreeBSD/arm64 hang at the following point under Hyper-V on a > Microsoft Dev Kit 2023 box: > > vmbus0: decoding 3 range 0xe0000000-0xfed3ffff > vmbus0: fb: fb_addr: 0xe0000000, size: 0x800000, actual size needed: 0xc0= 000 > vmbus0: allocated type 3 (0xe0000000-0xe07fffff) for rid 0 of vmbus0 > vmbus0: successfully reserved memory for framebuffer starting at > 0xe0000000, size 0x800000 > vmbus0: irq 0x2, vector 0 end 0x2 > vmbus0: the irq 18 > vmbus0: smp_started =3D 0 > > > On 27 Oct 2022, at 14:54, Wei Hu > wrote: > > > > The branch main has been updated by whu: > > > > URL: > > > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fcgit > > .freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D9729f076e4d93c5a37e78d427 > bfe0f1a > > > b99bbcc6&data=3D05%7C01%7Cweh%40microsoft.com%7C790d4f1a88b64 > 8383c71 > > > 08dab82b6403%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638024 > 793789 > > > 172734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2 > luMzIiLCJ > > > BTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=3DIip7d3n > WBdUrFSlW > > g9vIj73RniwVHZAGpjSIeo417Iw%3D&reserved=3D0 > > > > commit 9729f076e4d93c5a37e78d427bfe0f1ab99bbcc6 > > Author: Souradeep Chakrabarti > > > AuthorDate: 2022-10-27 13:46:08 +0000 > > Commit: Wei Hu > > > CommitDate: 2022-10-27 13:53:22 +0000 > > > > arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) > > > > This is the last part for ARM64 Hyper-V enablement. This includes > > commone files and make file changes to enable the ARM64 FreeBSD > > guest on Hyper-V. With this patch, it should be able to build > > the ARM64 image and install it on Hyper-V. > > > > Reviewed by: emaste, andrew, whu > > Tested by: Souradeep Chakrabarti > > > Sponsored by: Microsoft > > Differential Revision: > > > https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Frevi > > > ews.freebsd.org%2FD36744&data=3D05%7C01%7Cweh%40microsoft.com > %7C790d > > > 4f1a88b648383c7108dab82b6403%7C72f988bf86f141af91ab2d7cd011db47%7C > 1%7C > > > 0%7C638024793789172734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLj > AwMDAiLCJ > > > QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C& > ;sdata=3D > > > UhrPhMBYStaRvwtp%2FD5PI%2B6d34MVJ3SFK9ez%2FRNA%2BZ4%3D& > reserved=3D0 > > --- > > share/mk/src.opts.mk | 3 +- > > sys/arm64/conf/GENERIC | 1 + > > sys/arm64/conf/std.dev | 3 + > > sys/arm64/conf/std.hyperv | 6 + > > sys/conf/files.arm64 | 22 ++++ > > sys/conf/files.x86 | 2 + > > sys/dev/hyperv/include/hyperv.h | 5 + > > sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c | 5 +- > > sys/dev/hyperv/vmbus/hyperv.c | 194 +++------------------= ------ > > sys/dev/hyperv/vmbus/hyperv_machdep.h | 37 ------ > > sys/dev/hyperv/vmbus/hyperv_reg.h | 193 ---------------------= ------ > > sys/dev/hyperv/vmbus/hyperv_var.h | 4 + > > sys/dev/hyperv/vmbus/i386/hyperv_machdep.c | 2 +- > > sys/dev/hyperv/vmbus/vmbus.c | 197 +++++++++------------= ------- > > sys/dev/hyperv/vmbus/vmbus_et.c | 7 +- > > sys/dev/hyperv/vmbus/vmbus_reg.h | 7 +- > > sys/dev/hyperv/vmbus/vmbus_var.h | 15 +++ > > sys/modules/Makefile | 1 + > > sys/modules/hyperv/utilities/Makefile | 1 - > > sys/modules/hyperv/vmbus/Makefile | 11 +- > > 20 files changed, 164 insertions(+), 552 deletions(-) > > > > diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index > > a03b8147ecbb..4c0913474ef7 100644 > > --- a/share/mk/src.opts.mk > > +++ b/share/mk/src.opts.mk > > @@ -332,8 +332,7 @@ BROKEN_OPTIONS+=3DCXGBETOOL > BROKEN_OPTIONS+=3DMLX5TOOL > > .endif > > > > -# HyperV is currently x86-only > > -.if ${__T} !=3D "amd64" && ${__T} !=3D "i386" > > +.if ${__T} !=3D "amd64" && ${__T} !=3D "i386" && ${__T} !=3D "aarch64" > > BROKEN_OPTIONS+=3DHYPERV > > .endif > > > > diff --git a/sys/arm64/conf/GENERIC b/sys/arm64/conf/GENERIC index > > c716183aae61..60772893cdbb 100644 > > --- a/sys/arm64/conf/GENERIC > > +++ b/sys/arm64/conf/GENERIC > > @@ -31,6 +31,7 @@ include "std.amd" > > include "std.arm" > > include "std.broadcom" > > include "std.cavium" > > +include "std.hyperv" > > include "std.hisilicon" > > include "std.imx" > > include "std.marvell" > > diff --git a/sys/arm64/conf/std.dev b/sys/arm64/conf/std.dev index > > 6ef7358e5e85..8cdd35e2fd21 100644 > > --- a/sys/arm64/conf/std.dev > > +++ b/sys/arm64/conf/std.dev > > @@ -107,3 +107,6 @@ device mmcsd = # > mmc/sd flash cards > > # HID support > > options HID_DEBUG # enable debug msgs > > device hid = # Generic HID support > > + > > +#hyper-v support > > +device hyperv > This should only be in std.hyperv > > > diff --git a/sys/arm64/conf/std.hyperv b/sys/arm64/conf/std.hyperv new > > file mode 100644 index 000000000000..f87082f15c96 > > --- /dev/null > > +++ b/sys/arm64/conf/std.hyperv > > @@ -0,0 +1,6 @@ > > +# > > +# Hyper-V support (Hyper-v Gen 2) > > +# > > + > > +#hyper-v support > > +device hyperv > > This file is missing a few devices needed by hyper-v, e.g. the uart and a= cpi. It > should be complete enough so the following kernel config will boot: > > cpu ARM64 > ident HYPERV > include "std.arm64" > include "std.dev" > include "std.hyperv" > > > diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index > > 5178048cb0af..8b6ba43d2a3d 100644 > > --- a/sys/conf/files.arm64 > > +++ b/sys/conf/files.arm64 > > @@ -624,3 +624,25 @@ arm64/rockchip/clk/rk3399_pmucru.c > optional fdt soc_rockchip_rk3399 > > > > # Xilinx > > arm/xilinx/uart_dev_cdnc.c optional uar= t soc_xilinx_zynq > > + > > +# Microsoft Hyper-V > > This should probably be in the Device driver section, and be in alphabeti= cal > order. > > > +dev/hyperv/vmbus/hyperv.c optional = hyperv > > +dev/hyperv/vmbus/aarch64/hyperv_aarch64.c opti= onal > hyperv > > +dev/hyperv/vmbus/vmbus.c = optional > hyperv pci > > +dev/hyperv/vmbus/aarch64/vmbus_aarch64.c optio= nal > hyperv > > +dev/hyperv/vmbus/vmbus_if.m = optional > hyperv > > +dev/hyperv/vmbus/vmbus_res.c = optional > hyperv > > +dev/hyperv/vmbus/vmbus_xact.c = optional > hyperv > > +dev/hyperv/vmbus/aarch64/hyperv_machdep.c > optional hyperv > > +dev/hyperv/vmbus/vmbus_chan.c = optional > hyperv > > +dev/hyperv/vmbus/hyperv_busdma.c > optional hyperv > > +dev/hyperv/vmbus/vmbus_br.c = optional > hyperv > > +dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c > optional hyperv > > +dev/hyperv/utilities/vmbus_timesync.c > optional hyperv > > +dev/hyperv/utilities/vmbus_heartbeat.c > optional hyperv > > +dev/hyperv/utilities/vmbus_ic.c = optional > hyperv > > +dev/hyperv/utilities/vmbus_shutdown.c > optional hyperv > > +dev/hyperv/utilities/hv_kvp.c = optional hyperv > > +dev/hyperv/netvsc/hn_nvs.c = optional > hyperv > > +dev/hyperv/netvsc/hn_rndis.c o= ptional > hyperv > > +dev/hyperv/netvsc/if_hn.c = optional > hyperv > > The indentation for all the above should be cleaned up. > > Andrew --_000_SI2P153MB0441AB89A0CE6A99681A3615BB329SI2P153MB0441APCP_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Thanks for testing it, Andrew.

 

@Souradeep Chakrabarti, would you help check the hang and take care of

Andrew's comments?

 

Thanks,

Wei

 

 

 

> -----Original Message-----

> From: Andrew Turner <andrew@fubar.geek.nz= >

> Sent: Thursday, October 27, 2022 10:56 PM

> To: Wei Hu <whu@FreeBSD.org>

> Cc: src-committers@freebsd.org; dev-commits-= src-all@freebsd.org; dev-

> commits-src-main@freebsd.org

> Subject: Re: git: 9729f076e4d9 - main - arm6= 4: Hyper-V: enablement for

> ARM64 in Hyper-V (Part 3, final)

>

> I was planning on testing this as I now have= appropriate hardware to run

> arm64 Hyper-V. I have left some comments bel= ow.

>

> I am seeing FreeBSD/arm64 hang at the follow= ing point under Hyper-V on a

> Microsoft Dev Kit 2023 box:

>

> vmbus0: decoding 3 range 0xe0000000-0xfed3ff= ff

> vmbus0: fb: fb_addr: 0xe0000000, size: 0x800= 000, actual size needed: 0xc0000

> vmbus0: allocated type 3 (0xe0000000-0xe07ff= fff) for rid 0 of vmbus0

> vmbus0: successfully reserved memory for fra= mebuffer starting at

> 0xe0000000, size 0x800000

> vmbus0: irq 0x2, vector 0 end 0x2

> vmbus0: the irq 18

> vmbus0: smp_started =3D 0

>

> > On 27 Oct 2022, at 14:54, Wei Hu <whu@FreeBSD.org> wrote:

> >

> > The branch main has been updated by whu= :

> >

> > URL:

> >

> https://nam06.safelin= ks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fcgit

> > .freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D9= 729f076e4d93c5a37e78d427

> bfe0f1a

> >

> b99bbcc6&amp;data=3D05%7C01%7Cweh%40micr= osoft.com%7C790d4f1a88b64

> 8383c71

> >

> 08dab82b6403%7C72f988bf86f141af91ab2d7cd011d= b47%7C1%7C0%7C638024

> 793789

> >

> 172734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wL= jAwMDAiLCJQIjoiV2

> luMzIiLCJ

> >

> BTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&= amp;amp;sdata=3DIip7d3n

> WBdUrFSlW

> > g9vIj73RniwVHZAGpjSIeo417Iw%3D&amp;= reserved=3D0

> >

> > commit 9729f076e4d93c5a37e78d427bfe0f1a= b99bbcc6

> > Author:     Sourade= ep Chakrabarti <schakrabarti@microsoft.com>

> > AuthorDate: 2022-10-27 13:46:08 +0000

> > Commit:     Wei Hu = <whu@FreeBSD.org>

> > CommitDate: 2022-10-27 13:53:22 +0000

> >

> >    arm64: Hyper-V: enabl= ement for ARM64 in Hyper-V (Part 3, final)

> >

> >    This is the last part= for ARM64 Hyper-V enablement. This includes

> >    commone files and mak= e file changes to enable the ARM64 FreeBSD

> >    guest on Hyper-V. Wit= h this patch, it should be able to build

> >    the ARM64 image and i= nstall it on Hyper-V.

> >

> >    Reviewed by: &nb= sp;  emaste, andrew, whu

> >    Tested by:  = ;    Souradeep Chakrabarti <scha= krabarti@microsoft.com>

> >    Sponsored by: &n= bsp; Microsoft

> >    Differential Revision= :

> >

> https://nam06.safelin= ks.protection.outlook.com/?url=3Dhttps%3A%2F%2Frevi

> >

> ews.freebsd.org%2FD36744&amp;data=3D05%7= C01%7Cweh%40microsoft.com

> %7C790d

> >

> 4f1a88b648383c7108dab82b6403%7C72f988bf86f14= 1af91ab2d7cd011db47%7C

> 1%7C

> >

> 0%7C638024793789172734%7CUnknown%7CTWFpbGZsb= 3d8eyJWIjoiMC4wLj

> AwMDAiLCJ

> >

> QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%= 7C3000%7C%7C%7C&amp

> ;sdata=3D

> >

> UhrPhMBYStaRvwtp%2FD5PI%2B6d34MVJ3SFK9ez%2FR= NA%2BZ4%3D&amp;

> reserved=3D0

> > ---

> > share/mk/src.opts.mk   &= nbsp;           &nbs= p;        |   3 +-

> > sys/arm64/conf/GENERIC   = ;            &n= bsp;      |   1 +

> > sys/arm64/conf/std.dev   = ;             &= nbsp;     |   3 +

> > sys/arm64/conf/std.hyperv  &n= bsp;            = ;    |   6 +

> > sys/conf/files.arm64   &= nbsp;           &nbs= p;        |  22 ++++

> > sys/conf/files.x86   &nb= sp;            =           |   2 +

> > sys/dev/hyperv/include/hyperv.h &n= bsp;           | &nb= sp; 5 +

> > sys/dev/hyperv/vmbus/amd64/hyperv_machd= ep.c |   5 +-

> > sys/dev/hyperv/vmbus/hyperv.c &nbs= p;             = | 194 +++------------------------

> > sys/dev/hyperv/vmbus/hyperv_machdep.h&n= bsp;      |  37 ------

> > sys/dev/hyperv/vmbus/hyperv_reg.h =           | 193 --------------= -------------

> > sys/dev/hyperv/vmbus/hyperv_var.h =           |   4 +

> > sys/dev/hyperv/vmbus/i386/hyperv_machde= p.c  |   2 +-

> > sys/dev/hyperv/vmbus/vmbus.c  = ;            &n= bsp; | 197 +++++++++-------------------

> > sys/dev/hyperv/vmbus/vmbus_et.c &n= bsp;           | &nb= sp; 7 +-

> > sys/dev/hyperv/vmbus/vmbus_reg.h &= nbsp;          |   7= +-

> > sys/dev/hyperv/vmbus/vmbus_var.h &= nbsp;          |  15 +++<= /p>

> > sys/modules/Makefile   &= nbsp;           &nbs= p;        |   1 +

> > sys/modules/hyperv/utilities/Makefile&n= bsp;      |   1 -

> > sys/modules/hyperv/vmbus/Makefile =           |  11 +-

> > 20 files changed, 164 insertions(+), 55= 2 deletions(-)

> >

> > diff --git a/share/mk/src.opts.mk b/sha= re/mk/src.opts.mk index

> > a03b8147ecbb..4c0913474ef7 100644

> > --- a/share/mk/src.opts.mk

> > +++ b/share/mk/src.opts.mk

> > @@ -332,8 +332,7 @@ BROKEN_OPTIONS+=3DC= XGBETOOL

> BROKEN_OPTIONS+=3DMLX5TOOL

> > .endif

> >

> > -# HyperV is currently x86-only

> > -.if ${__T} !=3D "amd64" &= ;& ${__T} !=3D "i386"

> > +.if ${__T} !=3D "amd64" &= ;& ${__T} !=3D "i386" && ${__T} !=3D "aarch64&qu= ot;

> > BROKEN_OPTIONS+=3DHYPERV

> > .endif

> >

> > diff --git a/sys/arm64/conf/GENERIC b/s= ys/arm64/conf/GENERIC index

> > c716183aae61..60772893cdbb 100644

> > --- a/sys/arm64/conf/GENERIC

> > +++ b/sys/arm64/conf/GENERIC

> > @@ -31,6 +31,7 @@ include  &n= bsp;            = ;            &n= bsp;   "std.amd"

> > include     &n= bsp;            = ;        "std.arm"

> > include     &n= bsp;            = ;        "std.broadcom"

> > include     &n= bsp;            = ;        "std.cavium"

> > +include     &= nbsp;           &nbs= p;      "std.hyperv"

> > include     &n= bsp;            = ;        "std.hisilicon"

> > include     &n= bsp;            = ;        "std.imx"

> > include     &n= bsp;            = ;        "std.marvell"

> > diff --git a/sys/arm64/conf/std.dev b/s= ys/arm64/conf/std.dev index

> > 6ef7358e5e85..8cdd35e2fd21 100644

> > --- a/sys/arm64/conf/std.dev

> > +++ b/sys/arm64/conf/std.dev

> > @@ -107,3 +107,6 @@ device  &= nbsp;           &nbs= p;            mmcsd&= nbsp;           &nbs= p;            &= nbsp;       #

> mmc/sd flash cards

> > # HID support

> > options      &= nbsp;   HID_DEBUG        =             &nb= sp;  # enable debug msgs

> > device     &nb= sp;            =           hid   = ;            &n= bsp;            = ;            &n= bsp; # Generic HID support

> > +

> > +#hyper-v support

> > +device     &n= bsp;            = ;       hyperv

> This should only be in std.hyperv

>

> > diff --git a/sys/arm64/conf/std.hyperv = b/sys/arm64/conf/std.hyperv new

> > file mode 100644 index 000000000000..f8= 7082f15c96

> > --- /dev/null

> > +++ b/sys/arm64/conf/std.hyperv

> > @@ -0,0 +1,6 @@

> > +#

> > +# Hyper-V support (Hyper-v Gen 2)

> > +#

> > +

> > +#hyper-v support

> > +device      h= yperv

>

> This file is missing a few devices needed by= hyper-v, e.g. the uart and acpi. It

> should be complete enough so the following k= ernel config will boot:

>

> cpu ARM64

> ident HYPERV

> include "std.arm64"

> include “std.dev"

> include “std.hyperv"

>

> > diff --git a/sys/conf/files.arm64 b/sys= /conf/files.arm64 index

> > 5178048cb0af..8b6ba43d2a3d 100644

> > --- a/sys/conf/files.arm64

> > +++ b/sys/conf/files.arm64

> > @@ -624,3 +624,25 @@ arm64/rockchip/clk= /rk3399_pmucru.c

>        &n= bsp;    optional fdt soc_rockchip_rk3399

> >

> > # Xilinx

> > arm/xilinx/uart_dev_cdnc.c  &= nbsp;           &nbs= p;            &= nbsp;     optional uart soc_xilinx_zynq

> > +

> > +# Microsoft Hyper-V

>

> This should probably be in the Device driver= section, and be in alphabetical

> order.

>

> > +dev/hyperv/vmbus/hyperv.c  &= nbsp;           &nbs= p;            &= nbsp; optional          &= nbsp;    hyperv

> > +dev/hyperv/vmbus/aarch64/hyperv_aarch6= 4.c            =              op= tional

> hyperv

> > +dev/hyperv/vmbus/vmbus.c  &n= bsp;            = ;            &n= bsp;            = ;            &n= bsp;        optional

>        &n= bsp;    hyperv pci

> > +dev/hyperv/vmbus/aarch64/vmbus_aarch64= .c            &= nbsp;            opt= ional

> hyperv

> > +dev/hyperv/vmbus/vmbus_if.m  = ;            &n= bsp;            = ;            &n= bsp;            = ;  optional

>        &n= bsp;    hyperv

> > +dev/hyperv/vmbus/vmbus_res.c &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p; optional

>        &n= bsp;    hyperv

> > +dev/hyperv/vmbus/vmbus_xact.c &nb= sp;            =             &nb= sp;            =             optional=

>        &n= bsp;    hyperv

> > +dev/hyperv/vmbus/aarch64/hyperv_machde= p.c

>        &n= bsp;    optional    hyperv

> > +dev/hyperv/vmbus/vmbus_chan.c &nb= sp;            =             &nb= sp;            =           optional

>        &n= bsp;            = ;        hyperv

> > +dev/hyperv/vmbus/hyperv_busdma.c

>        &n= bsp;    optional hyperv

> > +dev/hyperv/vmbus/vmbus_br.c  = ;            &n= bsp;            = ;            &n= bsp;            = ;  optional

>        &n= bsp;    hyperv

> > +dev/hyperv/storvsc/hv_storvsc_drv_free= bsd.c

>        &n= bsp;    optional hyperv

> > +dev/hyperv/utilities/vmbus_timesync.c<= /p>

>        &n= bsp;    optional        h= yperv

> > +dev/hyperv/utilities/vmbus_heartbeat.c=

>        &n= bsp;    optional    hyperv

> > +dev/hyperv/utilities/vmbus_ic.c &= nbsp;           &nbs= p;             =             &nb= sp;            =   optional

> hyperv

> > +dev/hyperv/utilities/vmbus_shutdown.c<= /p>

>        &n= bsp;    optional    hyperv

> > +dev/hyperv/utilities/hv_kvp.c &nb= sp;            =             &nb= sp;            =     optional   hyperv

> > +dev/hyperv/netvsc/hn_nvs.c  =             &nb= sp;            =             &nb= sp;            =         optional

>        &n= bsp;    hyperv

> > +dev/hyperv/netvsc/hn_rndis.c &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp; optional

>        &n= bsp;    hyperv

> > +dev/hyperv/netvsc/if_hn.c  &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;         optional

>        &n= bsp;    hyperv

>

> The indentation for all the above should be = cleaned up.

>

> Andrew

 

--_000_SI2P153MB0441AB89A0CE6A99681A3615BB329SI2P153MB0441APCP_--