Date: Fri, 28 Oct 2022 01:21:27 +0000 From: Wei Hu <weh@microsoft.com> To: Souradeep Chakrabarti <schakrabarti@microsoft.com> Cc: "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org>, Andrew Turner <andrew@fubar.geek.nz> Subject: RE: git: 9729f076e4d9 - main - arm64: Hyper-V: enablement for ARM64 in Hyper-V (Part 3, final) Message-ID: <SI2P153MB0441AB89A0CE6A99681A3615BB329@SI2P153MB0441.APCP153.PROD.OUTLOOK.COM> In-Reply-To: <D4BD2409-8E71-4D98-9474-8AD396817C94@fubar.geek.nz> References: <202210271354.29RDsUoH077155@gitrepo.freebsd.org> <D4BD2409-8E71-4D98-9474-8AD396817C94@fubar.geek.nz>
next in thread | previous in thread | raw e-mail | index | archive | help
--_000_SI2P153MB0441AB89A0CE6A99681A3615BB329SI2P153MB0441APCP_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for testing it, Andrew. @Souradeep Chakrabarti<mailto:schakrabarti@microsoft.com>, would you help c= heck 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 - 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 <whu@FreeBSD.org<mailto:whu@FreeBSD.or= g>> 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 <schakrabarti@microsoft.com<mailto:sc= hakrabarti@microsoft.com>> > > AuthorDate: 2022-10-27 13:46:08 +0000 > > Commit: Wei Hu <whu@FreeBSD.org<mailto:whu@FreeBSD.org>> > > 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 <schakrabarti@microsoft.com<ma= ilto:schakrabarti@microsoft.com>> > > 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 <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:= //www.w3.org/TR/REC-html40"> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"= > <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)"> <style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:DengXian; panose-1:2 1 6 0 3 1 1 1 1 1;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:DengXian; panose-1:2 1 6 0 3 1 1 1 1 1;} /* Style Definitions */ p.MsoPlainText, li.MsoPlainText, div.MsoPlainText {mso-style-priority:99; mso-style-link:"Plain Text Char"; margin:0in; font-size:11.0pt; font-family:"Calibri",sans-serif;} span.PlainTextChar {mso-style-name:"Plain Text Char"; mso-style-priority:99; mso-style-link:"Plain Text"; font-family:"Calibri",sans-serif;} .MsoChpDefault {mso-style-type:export-only; font-family:"Calibri",sans-serif;} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 129.75pt 1.0in 129.7pt;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--> </head> <body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:= break-word"> <div class=3D"WordSection1"> <p class=3D"MsoPlainText">Thanks for testing it, Andrew. <o:p></o:p></p> <p class=3D"MsoPlainText"><o:p> </o:p></p> <p class=3D"MsoPlainText"><a id=3D"OWAAM4EC32D9DD64646208E356427C12791D8" h= ref=3D"mailto:schakrabarti@microsoft.com"><span style=3D"font-family:"= Calibri",sans-serif;text-decoration:none">@Souradeep Chakrabarti</span= ></a>, would you help check the hang and take care of <o:p></o:p></p> <p class=3D"MsoPlainText">Andrew's comments?<o:p></o:p></p> <p class=3D"MsoPlainText"><o:p> </o:p></p> <p class=3D"MsoPlainText">Thanks,<o:p></o:p></p> <p class=3D"MsoPlainText">Wei<o:p></o:p></p> <p class=3D"MsoPlainText"><o:p> </o:p></p> <p class=3D"MsoPlainText"><o:p> </o:p></p> <p class=3D"MsoPlainText"><o:p> </o:p></p> <p class=3D"MsoPlainText">> -----Original Message-----</p> <p class=3D"MsoPlainText">> From: Andrew Turner <andrew@fubar.geek.nz= ></p> <p class=3D"MsoPlainText">> Sent: Thursday, October 27, 2022 10:56 PM</p= > <p class=3D"MsoPlainText">> To: Wei Hu <whu@FreeBSD.org></p> <p class=3D"MsoPlainText">> Cc: src-committers@freebsd.org; dev-commits-= src-all@freebsd.org; dev-</p> <p class=3D"MsoPlainText">> commits-src-main@freebsd.org</p> <p class=3D"MsoPlainText">> Subject: Re: git: 9729f076e4d9 - main - arm6= 4: Hyper-V: enablement for</p> <p class=3D"MsoPlainText">> ARM64 in Hyper-V (Part 3, final)</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> I was planning on testing this as I now have= appropriate hardware to run</p> <p class=3D"MsoPlainText">> arm64 Hyper-V. I have left some comments bel= ow.</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> I am seeing FreeBSD/arm64 hang at the follow= ing point under Hyper-V on a</p> <p class=3D"MsoPlainText">> Microsoft Dev Kit 2023 box:</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> vmbus0: decoding 3 range 0xe0000000-0xfed3ff= ff</p> <p class=3D"MsoPlainText">> vmbus0: fb: fb_addr: 0xe0000000, size: 0x800= 000, actual size needed: 0xc0000</p> <p class=3D"MsoPlainText">> vmbus0: allocated type 3 (0xe0000000-0xe07ff= fff) for rid 0 of vmbus0</p> <p class=3D"MsoPlainText">> vmbus0: successfully reserved memory for fra= mebuffer starting at</p> <p class=3D"MsoPlainText">> 0xe0000000, size 0x800000</p> <p class=3D"MsoPlainText">> vmbus0: irq 0x2, vector 0 end 0x2</p> <p class=3D"MsoPlainText">> vmbus0: the irq 18</p> <p class=3D"MsoPlainText">> vmbus0: smp_started =3D 0</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> > On 27 Oct 2022, at 14:54, Wei Hu <<a= href=3D"mailto:whu@FreeBSD.org"><span style=3D"color:windowtext;text-decor= ation:none">whu@FreeBSD.org</span></a>> wrote:</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > The branch main has been updated by whu= :</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > URL:</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> <a href=3D"https://nam06.safelinks.protectio= n.outlook.com/?url=3Dhttps%3A%2F%2Fcgit"> <span style=3D"color:windowtext;text-decoration:none">https://nam06.safelin= ks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fcgit</span></a></p> <p class=3D"MsoPlainText">> > .freebsd.org%2Fsrc%2Fcommit%2F%3Fid%3D9= 729f076e4d93c5a37e78d427</p> <p class=3D"MsoPlainText">> bfe0f1a</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> b99bbcc6&amp;data=3D05%7C01%7Cweh%40micr= osoft.com%7C790d4f1a88b64</p> <p class=3D"MsoPlainText">> 8383c71</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> 08dab82b6403%7C72f988bf86f141af91ab2d7cd011d= b47%7C1%7C0%7C638024</p> <p class=3D"MsoPlainText">> 793789</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> 172734%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wL= jAwMDAiLCJQIjoiV2</p> <p class=3D"MsoPlainText">> luMzIiLCJ</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> BTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&= amp;amp;sdata=3DIip7d3n</p> <p class=3D"MsoPlainText">> WBdUrFSlW</p> <p class=3D"MsoPlainText">> > g9vIj73RniwVHZAGpjSIeo417Iw%3D&amp;= reserved=3D0</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > commit 9729f076e4d93c5a37e78d427bfe0f1a= b99bbcc6</p> <p class=3D"MsoPlainText">> > Author: Sourade= ep Chakrabarti <<a href=3D"mailto:schakrabarti@microsoft.com"><span styl= e=3D"color:windowtext;text-decoration:none">schakrabarti@microsoft.com</spa= n></a>></p> <p class=3D"MsoPlainText">> > AuthorDate: 2022-10-27 13:46:08 +0000</= p> <p class=3D"MsoPlainText">> > Commit: Wei Hu = <<a href=3D"mailto:whu@FreeBSD.org"><span style=3D"color:windowtext;text= -decoration:none">whu@FreeBSD.org</span></a>></p> <p class=3D"MsoPlainText">> > CommitDate: 2022-10-27 13:53:22 +0000</= p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > arm64: Hyper-V: enabl= ement for ARM64 in Hyper-V (Part 3, final)</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > This is the last part= for ARM64 Hyper-V enablement. This includes</p> <p class=3D"MsoPlainText">> > commone files and mak= e file changes to enable the ARM64 FreeBSD</p> <p class=3D"MsoPlainText">> > guest on Hyper-V. Wit= h this patch, it should be able to build</p> <p class=3D"MsoPlainText">> > the ARM64 image and i= nstall it on Hyper-V.</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > Reviewed by: &nb= sp; emaste, andrew, whu</p> <p class=3D"MsoPlainText">> > Tested by:  = ; Souradeep Chakrabarti <<a href=3D"mailto:schakrabart= i@microsoft.com"><span style=3D"color:windowtext;text-decoration:none">scha= krabarti@microsoft.com</span></a>></p> <p class=3D"MsoPlainText">> > Sponsored by: &n= bsp; Microsoft</p> <p class=3D"MsoPlainText">> > Differential Revision= :</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> <a href=3D"https://nam06.safelinks.protectio= n.outlook.com/?url=3Dhttps%3A%2F%2Frevi"> <span style=3D"color:windowtext;text-decoration:none">https://nam06.safelin= ks.protection.outlook.com/?url=3Dhttps%3A%2F%2Frevi</span></a></p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> ews.freebsd.org%2FD36744&amp;data=3D05%7= C01%7Cweh%40microsoft.com</p> <p class=3D"MsoPlainText">> %7C790d</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> 4f1a88b648383c7108dab82b6403%7C72f988bf86f14= 1af91ab2d7cd011db47%7C</p> <p class=3D"MsoPlainText">> 1%7C</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> 0%7C638024793789172734%7CUnknown%7CTWFpbGZsb= 3d8eyJWIjoiMC4wLj</p> <p class=3D"MsoPlainText">> AwMDAiLCJ</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%= 7C3000%7C%7C%7C&amp</p> <p class=3D"MsoPlainText">> ;sdata=3D</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> UhrPhMBYStaRvwtp%2FD5PI%2B6d34MVJ3SFK9ez%2FR= NA%2BZ4%3D&amp;</p> <p class=3D"MsoPlainText">> reserved=3D0</p> <p class=3D"MsoPlainText">> > ---</p> <p class=3D"MsoPlainText">> > share/mk/src.opts.mk &= nbsp; &nbs= p; | 3 +-</p> <p class=3D"MsoPlainText">> > sys/arm64/conf/GENERIC  = ; &n= bsp; | 1 +</p> <p class=3D"MsoPlainText">> > sys/arm64/conf/std.dev  = ; &= nbsp; | 3 +</p> <p class=3D"MsoPlainText">> > sys/arm64/conf/std.hyperv &n= bsp;  = ; | 6 +</p> <p class=3D"MsoPlainText">> > sys/conf/files.arm64 &= nbsp; &nbs= p; | 22 ++++</p> <p class=3D"MsoPlainText">> > sys/conf/files.x86 &nb= sp; = | 2 +</p= > <p class=3D"MsoPlainText">> > sys/dev/hyperv/include/hyperv.h &n= bsp; | &nb= sp; 5 +</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/amd64/hyperv_machd= ep.c | 5 +-</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/hyperv.c &nbs= p; = | 194 +++------------------------</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/hyperv_machdep.h&n= bsp; | 37 ------</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/hyperv_reg.h = | 193 --------------= -------------</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/hyperv_var.h = | 4 +</p= > <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/i386/hyperv_machde= p.c | 2 +-</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/vmbus.c  = ; &n= bsp; | 197 +++++++++-------------------</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/vmbus_et.c &n= bsp; | &nb= sp; 7 +-</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/vmbus_reg.h &= nbsp; | 7= +-</p> <p class=3D"MsoPlainText">> > sys/dev/hyperv/vmbus/vmbus_var.h &= nbsp; | 15 +++<= /p> <p class=3D"MsoPlainText">> > sys/modules/Makefile &= nbsp; &nbs= p; | 1 +</p> <p class=3D"MsoPlainText">> > sys/modules/hyperv/utilities/Makefile&n= bsp; | 1 -</p> <p class=3D"MsoPlainText">> > sys/modules/hyperv/vmbus/Makefile = | 11 +-</p> <p class=3D"MsoPlainText">> > 20 files changed, 164 insertions(+), 55= 2 deletions(-)</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > diff --git a/share/mk/src.opts.mk b/sha= re/mk/src.opts.mk index</p> <p class=3D"MsoPlainText">> > a03b8147ecbb..4c0913474ef7 100644</p> <p class=3D"MsoPlainText">> > --- a/share/mk/src.opts.mk</p> <p class=3D"MsoPlainText">> > +++ b/share/mk/src.opts.mk</p> <p class=3D"MsoPlainText">> > @@ -332,8 +332,7 @@ BROKEN_OPTIONS+=3DC= XGBETOOL</p> <p class=3D"MsoPlainText">> BROKEN_OPTIONS+=3DMLX5TOOL</p> <p class=3D"MsoPlainText">> > .endif</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > -# HyperV is currently x86-only</p> <p class=3D"MsoPlainText">> > -.if ${__T} !=3D "amd64" &= ;& ${__T} !=3D "i386"</p> <p class=3D"MsoPlainText">> > +.if ${__T} !=3D "amd64" &= ;& ${__T} !=3D "i386" && ${__T} !=3D "aarch64&qu= ot;</p> <p class=3D"MsoPlainText">> > BROKEN_OPTIONS+=3DHYPERV</p> <p class=3D"MsoPlainText">> > .endif</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > diff --git a/sys/arm64/conf/GENERIC b/s= ys/arm64/conf/GENERIC index</p> <p class=3D"MsoPlainText">> > c716183aae61..60772893cdbb 100644</p> <p class=3D"MsoPlainText">> > --- a/sys/arm64/conf/GENERIC</p> <p class=3D"MsoPlainText">> > +++ b/sys/arm64/conf/GENERIC</p> <p class=3D"MsoPlainText">> > @@ -31,6 +31,7 @@ include &n= bsp;  = ; &n= bsp; "std.amd"</p> <p class=3D"MsoPlainText">> > include &n= bsp;  = ; "std.arm"</p> <p class=3D"MsoPlainText">> > include &n= bsp;  = ; "std.broadcom"</p> <p class=3D"MsoPlainText">> > include &n= bsp;  = ; "std.cavium"</p> <p class=3D"MsoPlainText">> > +include &= nbsp; &nbs= p; "std.hyperv"</p> <p class=3D"MsoPlainText">> > include &n= bsp;  = ; "std.hisilicon"</p> <p class=3D"MsoPlainText">> > include &n= bsp;  = ; "std.imx"</p> <p class=3D"MsoPlainText">> > include &n= bsp;  = ; "std.marvell"</p> <p class=3D"MsoPlainText">> > diff --git a/sys/arm64/conf/std.dev b/s= ys/arm64/conf/std.dev index</p> <p class=3D"MsoPlainText">> > 6ef7358e5e85..8cdd35e2fd21 100644</p> <p class=3D"MsoPlainText">> > --- a/sys/arm64/conf/std.dev</p> <p class=3D"MsoPlainText">> > +++ b/sys/arm64/conf/std.dev</p> <p class=3D"MsoPlainText">> > @@ -107,3 +107,6 @@ device &= nbsp; &nbs= p; mmcsd&= nbsp; &nbs= p; &= nbsp; #</p> <p class=3D"MsoPlainText">> mmc/sd flash cards</p> <p class=3D"MsoPlainText">> > # HID support</p> <p class=3D"MsoPlainText">> > options &= nbsp; HID_DEBUG = &nb= sp; # enable debug msgs</p> <p class=3D"MsoPlainText">> > device &nb= sp; = hid  = ; &n= bsp;  = ; &n= bsp; # Generic HID support</p> <p class=3D"MsoPlainText">> > +</p> <p class=3D"MsoPlainText">> > +#hyper-v support</p> <p class=3D"MsoPlainText">> > +device &n= bsp;  = ; hyperv</p> <p class=3D"MsoPlainText">> This should only be in std.hyperv</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> > diff --git a/sys/arm64/conf/std.hyperv = b/sys/arm64/conf/std.hyperv new</p> <p class=3D"MsoPlainText">> > file mode 100644 index 000000000000..f8= 7082f15c96</p> <p class=3D"MsoPlainText">> > --- /dev/null</p> <p class=3D"MsoPlainText">> > +++ b/sys/arm64/conf/std.hyperv</p> <p class=3D"MsoPlainText">> > @@ -0,0 +1,6 @@</p> <p class=3D"MsoPlainText">> > +#</p> <p class=3D"MsoPlainText">> > +# Hyper-V support (Hyper-v Gen 2)</p> <p class=3D"MsoPlainText">> > +#</p> <p class=3D"MsoPlainText">> > +</p> <p class=3D"MsoPlainText">> > +#hyper-v support</p> <p class=3D"MsoPlainText">> > +device h= yperv</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> This file is missing a few devices needed by= hyper-v, e.g. the uart and acpi. It</p> <p class=3D"MsoPlainText">> should be complete enough so the following k= ernel config will boot:</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> cpu ARM64</p> <p class=3D"MsoPlainText">> ident HYPERV</p> <p class=3D"MsoPlainText">> include "std.arm64"</p> <p class=3D"MsoPlainText">> include “std.dev"</p> <p class=3D"MsoPlainText">> include “std.hyperv"</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> > diff --git a/sys/conf/files.arm64 b/sys= /conf/files.arm64 index</p> <p class=3D"MsoPlainText">> > 5178048cb0af..8b6ba43d2a3d 100644</p> <p class=3D"MsoPlainText">> > --- a/sys/conf/files.arm64</p> <p class=3D"MsoPlainText">> > +++ b/sys/conf/files.arm64</p> <p class=3D"MsoPlainText">> > @@ -624,3 +624,25 @@ arm64/rockchip/clk= /rk3399_pmucru.c</p> <p class=3D"MsoPlainText">> &n= bsp; optional fdt soc_rockchip_rk3399</p> <p class=3D"MsoPlainText">> ></p> <p class=3D"MsoPlainText">> > # Xilinx</p> <p class=3D"MsoPlainText">> > arm/xilinx/uart_dev_cdnc.c &= nbsp; &nbs= p; &= nbsp; optional uart soc_xilinx_zynq</p> <p class=3D"MsoPlainText">> > +</p> <p class=3D"MsoPlainText">> > +# Microsoft Hyper-V</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> This should probably be in the Device driver= section, and be in alphabetical</p> <p class=3D"MsoPlainText">> order.</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/hyperv.c &= nbsp; &nbs= p; &= nbsp; optional &= nbsp; hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/aarch64/hyperv_aarch6= 4.c = op= tional</p> <p class=3D"MsoPlainText">> hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/vmbus.c &n= bsp;  = ; &n= bsp;  = ; &n= bsp; optional</p> <p class=3D"MsoPlainText">> &n= bsp; hyperv pci</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/aarch64/vmbus_aarch64= .c &= nbsp; opt= ional</p> <p class=3D"MsoPlainText">> hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/vmbus_if.m  = ; &n= bsp;  = ; &n= bsp;  = ; optional</p> <p class=3D"MsoPlainText">> &n= bsp; hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/vmbus_res.c &nbs= p; &= nbsp; &nbs= p; &= nbsp; &nbs= p; optional</p> <p class=3D"MsoPlainText">> &n= bsp; hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/vmbus_xact.c &nb= sp; = &nb= sp; = optional= </p> <p class=3D"MsoPlainText">> &n= bsp; hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/aarch64/hyperv_machde= p.c</p> <p class=3D"MsoPlainText">> &n= bsp; optional hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/vmbus_chan.c &nb= sp; = &nb= sp; = optional</p> <p class=3D"MsoPlainText">> &n= bsp;  = ; hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/hyperv_busdma.c</p> <p class=3D"MsoPlainText">> &n= bsp; optional hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/vmbus/vmbus_br.c  = ; &n= bsp;  = ; &n= bsp;  = ; optional</p> <p class=3D"MsoPlainText">> &n= bsp; hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/storvsc/hv_storvsc_drv_free= bsd.c</p> <p class=3D"MsoPlainText">> &n= bsp; optional hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/utilities/vmbus_timesync.c<= /p> <p class=3D"MsoPlainText">> &n= bsp; optional h= yperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/utilities/vmbus_heartbeat.c= </p> <p class=3D"MsoPlainText">> &n= bsp; optional hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/utilities/vmbus_ic.c &= nbsp; &nbs= p; = &nb= sp; = optional</p> <p class=3D"MsoPlainText">> hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/utilities/vmbus_shutdown.c<= /p> <p class=3D"MsoPlainText">> &n= bsp; optional hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/utilities/hv_kvp.c &nb= sp; = &nb= sp; = optional hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/netvsc/hn_nvs.c = &nb= sp; = &nb= sp; = optional</p> <p class=3D"MsoPlainText">> &n= bsp; hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/netvsc/hn_rndis.c &nbs= p; &= nbsp; &nbs= p; &= nbsp; optional</p> <p class=3D"MsoPlainText">> &n= bsp; hyperv</p> <p class=3D"MsoPlainText">> > +dev/hyperv/netvsc/if_hn.c &= nbsp; &nbs= p; &= nbsp; &nbs= p; optional</p> <p class=3D"MsoPlainText">> &n= bsp; hyperv</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> The indentation for all the above should be = cleaned up.</p> <p class=3D"MsoPlainText">> </p> <p class=3D"MsoPlainText">> Andrew</p> <p class=3D"MsoPlainText"><o:p> </o:p></p> </div> </body> </html> --_000_SI2P153MB0441AB89A0CE6A99681A3615BB329SI2P153MB0441APCP_--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SI2P153MB0441AB89A0CE6A99681A3615BB329>