Message ID | 1598287583-71762-11-git-send-email-mikelley@microsoft.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable Linux guests on Hyper-V on ARM64 | expand |
On Mon, 24 Aug 2020 at 18:48, Michael Kelley <mikelley@microsoft.com> wrote: > > Update drivers/hv/Kconfig so CONFIG_HYPERV can be selected on > ARM64, causing the Hyper-V specific code to be built. > > Signed-off-by: Michael Kelley <mikelley@microsoft.com> > --- > drivers/hv/Kconfig | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig > index 79e5356..1113e49 100644 > --- a/drivers/hv/Kconfig > +++ b/drivers/hv/Kconfig > @@ -4,7 +4,8 @@ menu "Microsoft Hyper-V guest support" > > config HYPERV > tristate "Microsoft Hyper-V client drivers" > - depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST > + depends on ACPI && \ > + ((X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) || ARM64) > select PARAVIRT > select X86_HV_CALLBACK_VECTOR > help Given the comment in a previous patch +/* + * All data structures defined in the TLFS that are shared between Hyper-V + * and a guest VM use Little Endian byte ordering. This matches the default + * byte ordering of Linux running on ARM64, so no special handling is required. + */ shouldn't this depend on !CONFIG_CPU_BIG_ENDIAN ?
From: Ard Biesheuvel <ardb@kernel.org> Sent: Monday, August 24, 2020 10:24 AM > > On Mon, 24 Aug 2020 at 18:48, Michael Kelley <mikelley@microsoft.com> wrote: > > > > Update drivers/hv/Kconfig so CONFIG_HYPERV can be selected on > > ARM64, causing the Hyper-V specific code to be built. > > > > Signed-off-by: Michael Kelley <mikelley@microsoft.com> > > --- > > drivers/hv/Kconfig | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig > > index 79e5356..1113e49 100644 > > --- a/drivers/hv/Kconfig > > +++ b/drivers/hv/Kconfig > > @@ -4,7 +4,8 @@ menu "Microsoft Hyper-V guest support" > > > > config HYPERV > > tristate "Microsoft Hyper-V client drivers" > > - depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST > > + depends on ACPI && \ > > + ((X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) || ARM64) > > select PARAVIRT > > select X86_HV_CALLBACK_VECTOR > > help > > Given the comment in a previous patch > > +/* > + * All data structures defined in the TLFS that are shared between Hyper-V > + * and a guest VM use Little Endian byte ordering. This matches the default > + * byte ordering of Linux running on ARM64, so no special handling is required. > + */ > > shouldn't this depend on !CONFIG_CPU_BIG_ENDIAN ? Yes indeed. I'll add it. Michael
On 24/08/2020 18:24, Ard Biesheuvel wrote: > On Mon, 24 Aug 2020 at 18:48, Michael Kelley <mikelley@microsoft.com> wrote: >> >> Update drivers/hv/Kconfig so CONFIG_HYPERV can be selected on >> ARM64, causing the Hyper-V specific code to be built. >> >> Signed-off-by: Michael Kelley <mikelley@microsoft.com> >> --- >> drivers/hv/Kconfig | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig >> index 79e5356..1113e49 100644 >> --- a/drivers/hv/Kconfig >> +++ b/drivers/hv/Kconfig >> @@ -4,7 +4,8 @@ menu "Microsoft Hyper-V guest support" >> >> config HYPERV >> tristate "Microsoft Hyper-V client drivers" >> - depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST >> + depends on ACPI && \ >> + ((X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) || ARM64) >> select PARAVIRT >> select X86_HV_CALLBACK_VECTOR >> help > > Given the comment in a previous patch > > +/* > + * All data structures defined in the TLFS that are shared between Hyper-V > + * and a guest VM use Little Endian byte ordering. This matches the default > + * byte ordering of Linux running on ARM64, so no special handling is required. > + */ > > shouldn't this depend on !CONFIG_CPU_BIG_ENDIAN ? or mark the data __le and have the appropriate accessor functions do the swapping.
diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig index 79e5356..1113e49 100644 --- a/drivers/hv/Kconfig +++ b/drivers/hv/Kconfig @@ -4,7 +4,8 @@ menu "Microsoft Hyper-V guest support" config HYPERV tristate "Microsoft Hyper-V client drivers" - depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST + depends on ACPI && \ + ((X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) || ARM64) select PARAVIRT select X86_HV_CALLBACK_VECTOR help
Update drivers/hv/Kconfig so CONFIG_HYPERV can be selected on ARM64, causing the Hyper-V specific code to be built. Signed-off-by: Michael Kelley <mikelley@microsoft.com> --- drivers/hv/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)