<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/hyperv, branch linux-4.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-08-17T19:03:47Z</updated>
<entry>
<title>x86/hyper-v: Check for VP_INVAL in hyperv_flush_tlb_others()</title>
<updated>2018-08-17T19:03:47Z</updated>
<author>
<name>Vitaly Kuznetsov</name>
</author>
<published>2018-07-09T17:40:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=031e64661607551fc9832cbcc1544fa504208b05'/>
<id>urn:sha1:031e64661607551fc9832cbcc1544fa504208b05</id>
<content type='text'>
commit 110d2a7fc39725d2c29d2fede4f34a35a4f98882 upstream.

Commit 1268ed0c474a ("x86/hyper-v: Fix the circular dependency in IPI
 enlightenment") pre-filled hv_vp_index with VP_INVAL so it is now
(theoretically) possible to observe hv_cpu_number_to_vp_number()
returning VP_INVAL. We need to check for that in hyperv_flush_tlb_others().

Not checking for VP_INVAL on the first call site where we do

 if (hv_cpu_number_to_vp_number(cpumask_last(cpus)) &gt;= 64)
                        goto do_ex_hypercall;

is OK, in case we're eligible for non-ex hypercall we'll catch the
issue later in for_each_cpu() cycle and in case we'll be doing ex-
hypercall cpumask_to_vpset() will fail.

It would be nice to change hv_cpu_number_to_vp_number() return
value's type to 'u32' but this will likely be a bigger change as
all call sites need to be checked first.

Fixes: 1268ed0c474a ("x86/hyper-v: Fix the circular dependency in IPI enlightenment")
Signed-off-by: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Cc: "K. Y. Srinivasan" &lt;kys@microsoft.com&gt;
Cc: Haiyang Zhang &lt;haiyangz@microsoft.com&gt;
Cc: Stephen Hemminger &lt;sthemmin@microsoft.com&gt;
Cc: "Michael Kelley (EOSG)" &lt;Michael.H.Kelley@microsoft.com&gt;
Cc: devel@linuxdriverproject.org
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Link: https://lkml.kernel.org/r/20180709174012.17429-3-vkuznets@redhat.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>x86/hyper-v: Fix the circular dependency in IPI enlightenment</title>
<updated>2018-07-06T10:32:59Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2018-07-03T23:01:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1268ed0c474a5c8f165ef386f3310521b5e00e27'/>
<id>urn:sha1:1268ed0c474a5c8f165ef386f3310521b5e00e27</id>
<content type='text'>
The IPI hypercalls depend on being able to map the Linux notion of CPU ID
to the hypervisor's notion of the CPU ID. The array hv_vp_index[] provides
this mapping. Code for populating this array depends on the IPI functionality.
Break this circular dependency.

[ tglx: Use a proper define instead of '-1' with a u32 variable as pointed
  	out by Vitaly ]

Fixes: 68bb7bfb7985 ("X86/Hyper-V: Enable IPI enlightenments")
Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Tested-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Cc: gregkh@linuxfoundation.org
Cc: devel@linuxdriverproject.org
Cc: olaf@aepfle.de
Cc: apw@canonical.com
Cc: jasowang@redhat.com
Cc: hpa@zytor.com
Cc: sthemmin@microsoft.com
Cc: Michael.H.Kelley@microsoft.com
Cc: vkuznets@redhat.com
Link: https://lkml.kernel.org/r/20180703230155.15160-1-kys@linuxonhyperv.com


</content>
</entry>
<entry>
<title>x86/hyper-v: move struct hv_flush_pcpu{,ex} definitions to common header</title>
<updated>2018-05-26T12:14:33Z</updated>
<author>
<name>Vitaly Kuznetsov</name>
</author>
<published>2018-05-16T15:21:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c9c92bee533073e2c3999200cfcff2a606ac8534'/>
<id>urn:sha1:c9c92bee533073e2c3999200cfcff2a606ac8534</id>
<content type='text'>
Hyper-V TLB flush hypercalls definitions will be required for KVM so move
them hyperv-tlfs.h. Structures also need to be renamed as '_pcpu' suffix is
irrelevant for a general-purpose definition.

Signed-off-by: Vitaly Kuznetsov &lt;vkuznets@redhat.com&gt;
Signed-off-by: Radim Krčmář &lt;rkrcmar@redhat.com&gt;
</content>
</entry>
<entry>
<title>x86/Hyper-V/hv_apic: Build the Hyper-V APIC conditionally</title>
<updated>2018-05-19T19:34:11Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2018-05-19T19:22:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2d2ccf24939cf369f7473c7e4ea309891be91848'/>
<id>urn:sha1:2d2ccf24939cf369f7473c7e4ea309891be91848</id>
<content type='text'>
The Hyper-V APIC code is built when CONFIG_HYPERV is enabled but the actual
code in that file is guarded with CONFIG_X86_64. There is no point in doing
this. Neither is there a point in having the CONFIG_HYPERV guard in there
because the containing directory is not built when CONFIG_HYPERV=n.

Further for the hv_init_apic() function a stub is provided only for
CONFIG_HYPERV=n, which is pointless as the callsite is not compiled at
all. But for X86_32 the stub is missing and the build fails.

Clean that up:

  - Compile hv_apic.c only when CONFIG_X86_64=y
  - Make the stub for hv_init_apic() available when CONFG_X86_64=n

Fixes: 6b48cb5f8347 ("X86/Hyper-V: Enlighten APIC access")
Reported-by: kbuild test robot &lt;lkp@intel.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Cc: Michael Kelley &lt;mikelley@microsoft.com&gt;
</content>
</entry>
<entry>
<title>x86/Hyper-V/hv_apic: Include asm/apic.h</title>
<updated>2018-05-19T14:41:59Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2018-05-19T14:38:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=61eeb1f6d1f2648a218855d7c8d44f16df242ef3'/>
<id>urn:sha1:61eeb1f6d1f2648a218855d7c8d44f16df242ef3</id>
<content type='text'>
Not all configurations magically include asm/apic.h, but the Hyper-V code
requires it. Include it explicitely.

Fixes: 6b48cb5f8347 ("X86/Hyper-V: Enlighten APIC access")
Reported-by: kbuild test robot &lt;lkp@intel.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Cc: Michael Kelley &lt;mikelley@microsoft.com&gt;
</content>
</entry>
<entry>
<title>X86/Hyper-V: Consolidate the allocation of the hypercall input page</title>
<updated>2018-05-19T11:23:18Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2018-05-16T21:53:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9a2d78e291a7dea0ae4b4a06ce6bbbe4f1ab7c13'/>
<id>urn:sha1:9a2d78e291a7dea0ae4b4a06ce6bbbe4f1ab7c13</id>
<content type='text'>
Consolidate the allocation of the hypercall input page.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Cc: olaf@aepfle.de
Cc: sthemmin@microsoft.com
Cc: gregkh@linuxfoundation.org
Cc: jasowang@redhat.com
Cc: Michael.H.Kelley@microsoft.com
Cc: hpa@zytor.com
Cc: apw@canonical.com
Cc: devel@linuxdriverproject.org
Cc: vkuznets@redhat.com
Link: https://lkml.kernel.org/r/20180516215334.6547-5-kys@linuxonhyperv.com

</content>
</entry>
<entry>
<title>X86/Hyper-V: Consolidate code for converting cpumask to vpset</title>
<updated>2018-05-19T11:23:18Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2018-05-16T21:53:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=800b8f03fdc8d66885ff03de531285526a4ca0d4'/>
<id>urn:sha1:800b8f03fdc8d66885ff03de531285526a4ca0d4</id>
<content type='text'>
Consolidate code for converting cpumask to vpset.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Cc: olaf@aepfle.de
Cc: sthemmin@microsoft.com
Cc: gregkh@linuxfoundation.org
Cc: jasowang@redhat.com
Cc: Michael.H.Kelley@microsoft.com
Cc: hpa@zytor.com
Cc: apw@canonical.com
Cc: devel@linuxdriverproject.org
Cc: vkuznets@redhat.com
Link: https://lkml.kernel.org/r/20180516215334.6547-4-kys@linuxonhyperv.com

</content>
</entry>
<entry>
<title>X86/Hyper-V: Enhanced IPI enlightenment</title>
<updated>2018-05-19T11:23:17Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2018-05-16T21:53:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=366f03b0cf90ef55f063d4a54cf62b0ac9b6da9d'/>
<id>urn:sha1:366f03b0cf90ef55f063d4a54cf62b0ac9b6da9d</id>
<content type='text'>
Support enhanced IPI enlightenments (to target more than 64 CPUs).

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Cc: olaf@aepfle.de
Cc: sthemmin@microsoft.com
Cc: gregkh@linuxfoundation.org
Cc: jasowang@redhat.com
Cc: Michael.H.Kelley@microsoft.com
Cc: hpa@zytor.com
Cc: apw@canonical.com
Cc: devel@linuxdriverproject.org
Cc: vkuznets@redhat.com
Link: https://lkml.kernel.org/r/20180516215334.6547-3-kys@linuxonhyperv.com

</content>
</entry>
<entry>
<title>X86/Hyper-V: Enable IPI enlightenments</title>
<updated>2018-05-19T11:23:17Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2018-05-16T21:53:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68bb7bfb7985df2bd15c2dc975cb68b7a901488a'/>
<id>urn:sha1:68bb7bfb7985df2bd15c2dc975cb68b7a901488a</id>
<content type='text'>
Hyper-V supports hypercalls to implement IPI; use them.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Cc: olaf@aepfle.de
Cc: sthemmin@microsoft.com
Cc: gregkh@linuxfoundation.org
Cc: jasowang@redhat.com
Cc: Michael.H.Kelley@microsoft.com
Cc: hpa@zytor.com
Cc: apw@canonical.com
Cc: devel@linuxdriverproject.org
Cc: vkuznets@redhat.com
Link: https://lkml.kernel.org/r/20180516215334.6547-2-kys@linuxonhyperv.com

</content>
</entry>
<entry>
<title>X86/Hyper-V: Enlighten APIC access</title>
<updated>2018-05-19T11:23:17Z</updated>
<author>
<name>K. Y. Srinivasan</name>
</author>
<published>2018-05-16T21:53:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b48cb5f8347bc0153ff1d7b075db92e6723ffdb'/>
<id>urn:sha1:6b48cb5f8347bc0153ff1d7b075db92e6723ffdb</id>
<content type='text'>
Hyper-V supports MSR based APIC access; implement
the enlightenment.

Signed-off-by: K. Y. Srinivasan &lt;kys@microsoft.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Cc: olaf@aepfle.de
Cc: sthemmin@microsoft.com
Cc: gregkh@linuxfoundation.org
Cc: jasowang@redhat.com
Cc: Michael.H.Kelley@microsoft.com
Cc: hpa@zytor.com
Cc: apw@canonical.com
Cc: devel@linuxdriverproject.org
Cc: vkuznets@redhat.com
Link: https://lkml.kernel.org/r/20180516215334.6547-1-kys@linuxonhyperv.com

</content>
</entry>
</feed>
