<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/include/asm/mshyperv.h, branch linux-5.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-02-11T08:47:07Z</updated>
<entry>
<title>iommu/hyperv: setup an IO-APIC IRQ remapping domain for root partition</title>
<updated>2021-02-11T08:47:07Z</updated>
<author>
<name>Wei Liu</name>
</author>
<published>2021-02-03T15:04:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb5ef35165a37ca63ef0227657eabd06f0a39cf9'/>
<id>urn:sha1:fb5ef35165a37ca63ef0227657eabd06f0a39cf9</id>
<content type='text'>
Just like MSI/MSI-X, IO-APIC interrupts are remapped by Microsoft
Hypervisor when Linux runs as the root partition. Implement an IRQ
domain to handle mapping and unmapping of IO-APIC interrupts.

Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
Acked-by: Joerg Roedel &lt;joro@8bytes.org&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20210203150435.27941-17-wei.liu@kernel.org
</content>
</entry>
<entry>
<title>x86/hyperv: implement an MSI domain for root partition</title>
<updated>2021-02-11T08:47:07Z</updated>
<author>
<name>Wei Liu</name>
</author>
<published>2021-02-03T15:04:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e39397d1fd6851bef4dfb63a631b8e15d1f43329'/>
<id>urn:sha1:e39397d1fd6851bef4dfb63a631b8e15d1f43329</id>
<content type='text'>
When Linux runs as the root partition on Microsoft Hypervisor, its
interrupts are remapped.  Linux will need to explicitly map and unmap
interrupts for hardware.

Implement an MSI domain to issue the correct hypercalls. And initialize
this irq domain as the default MSI irq domain.

Signed-off-by: Sunil Muthuswamy &lt;sunilmut@microsoft.com&gt;
Co-Developed-by: Sunil Muthuswamy &lt;sunilmut@microsoft.com&gt;
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20210203150435.27941-16-wei.liu@kernel.org
</content>
</entry>
<entry>
<title>asm-generic/hyperv: update hv_msi_entry</title>
<updated>2021-02-11T08:47:06Z</updated>
<author>
<name>Wei Liu</name>
</author>
<published>2021-02-03T15:04:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d589ae61bc27b2b9aaac0bf20a9077b6fbda32b6'/>
<id>urn:sha1:d589ae61bc27b2b9aaac0bf20a9077b6fbda32b6</id>
<content type='text'>
We will soon need to access fields inside the MSI address and MSI data
fields. Introduce hv_msi_address_register and hv_msi_data_register.

Fix up one user of hv_msi_entry in mshyperv.h.

No functional change expected.

Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20210203150435.27941-12-wei.liu@kernel.org
</content>
</entry>
<entry>
<title>x86/hyperv: provide a bunch of helper functions</title>
<updated>2021-02-11T08:47:06Z</updated>
<author>
<name>Wei Liu</name>
</author>
<published>2021-02-03T15:04:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=86b5ec3552f3c09694e6f7934834b0a2a3aeebbe'/>
<id>urn:sha1:86b5ec3552f3c09694e6f7934834b0a2a3aeebbe</id>
<content type='text'>
They are used to deposit pages into Microsoft Hypervisor and bring up
logical and virtual processors.

Signed-off-by: Lillian Grassin-Drake &lt;ligrassi@microsoft.com&gt;
Signed-off-by: Sunil Muthuswamy &lt;sunilmut@microsoft.com&gt;
Signed-off-by: Nuno Das Neves &lt;nunodasneves@linux.microsoft.com&gt;
Co-Developed-by: Lillian Grassin-Drake &lt;ligrassi@microsoft.com&gt;
Co-Developed-by: Sunil Muthuswamy &lt;sunilmut@microsoft.com&gt;
Co-Developed-by: Nuno Das Neves &lt;nunodasneves@linux.microsoft.com&gt;
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20210203150435.27941-10-wei.liu@kernel.org
</content>
</entry>
<entry>
<title>x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary</title>
<updated>2021-02-11T08:47:06Z</updated>
<author>
<name>Wei Liu</name>
</author>
<published>2021-02-03T15:04:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=99a0f46af6a7715147e81c558d558021aad4e207'/>
<id>urn:sha1:99a0f46af6a7715147e81c558d558021aad4e207</id>
<content type='text'>
We will need the partition ID for executing some hypercalls later.

Signed-off-by: Lillian Grassin-Drake &lt;ligrassi@microsoft.com&gt;
Co-Developed-by: Sunil Muthuswamy &lt;sunilmut@microsoft.com&gt;
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20210203150435.27941-7-wei.liu@kernel.org
</content>
</entry>
<entry>
<title>x86/hyperv: allocate output arg pages if required</title>
<updated>2021-02-11T08:47:06Z</updated>
<author>
<name>Wei Liu</name>
</author>
<published>2021-02-03T15:04:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5d0f077e0f413b7eca827b16ea8bfc4569e3946c'/>
<id>urn:sha1:5d0f077e0f413b7eca827b16ea8bfc4569e3946c</id>
<content type='text'>
When Linux runs as the root partition, it will need to make hypercalls
which return data from the hypervisor.

Allocate pages for storing results when Linux runs as the root
partition.

Signed-off-by: Lillian Grassin-Drake &lt;ligrassi@microsoft.com&gt;
Co-Developed-by: Lillian Grassin-Drake &lt;ligrassi@microsoft.com&gt;
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20210203150435.27941-6-wei.liu@kernel.org
</content>
</entry>
<entry>
<title>x86/hyperv: detect if Linux is the root partition</title>
<updated>2021-02-11T08:47:05Z</updated>
<author>
<name>Wei Liu</name>
</author>
<published>2021-02-03T15:04:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e997720202b363ba8000d769f114e3c2c5822227'/>
<id>urn:sha1:e997720202b363ba8000d769f114e3c2c5822227</id>
<content type='text'>
For now we can use the privilege flag to check. Stash the value to be
used later.

Put in a bunch of defines for future use when we want to have more
fine-grained detection.

Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
Reviewed-by: Pavel Tatashin &lt;pasha.tatashin@soleen.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20210203150435.27941-3-wei.liu@kernel.org
</content>
</entry>
<entry>
<title>x86/hyperv: Fix kexec panic/hang issues</title>
<updated>2021-01-05T17:52:04Z</updated>
<author>
<name>Dexuan Cui</name>
</author>
<published>2020-12-22T06:55:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dfe94d4086e40e92b1926bddcefa629b791e9b28'/>
<id>urn:sha1:dfe94d4086e40e92b1926bddcefa629b791e9b28</id>
<content type='text'>
Currently the kexec kernel can panic or hang due to 2 causes:

1) hv_cpu_die() is not called upon kexec, so the hypervisor corrupts the
old VP Assist Pages when the kexec kernel runs. The same issue is fixed
for hibernation in commit 421f090c819d ("x86/hyperv: Suspend/resume the
VP assist page for hibernation"). Now fix it for kexec.

2) hyperv_cleanup() is called too early. In the kexec path, the other CPUs
are stopped in hv_machine_shutdown() -&gt; native_machine_shutdown(), so
between hv_kexec_handler() and native_machine_shutdown(), the other CPUs
can still try to access the hypercall page and cause panic. The workaround
"hv_hypercall_pg = NULL;" in hyperv_cleanup() is unreliabe. Move
hyperv_cleanup() to a better place.

Signed-off-by: Dexuan Cui &lt;decui@microsoft.com&gt;
Reviewed-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/20201222065541.24312-1-decui@microsoft.com
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
</content>
</entry>
<entry>
<title>Drivers: hv: vmbus: Add parsing of VMbus interrupt in ACPI DSDT</title>
<updated>2020-10-14T19:14:51Z</updated>
<author>
<name>Michael Kelley</name>
</author>
<published>2020-08-14T19:45:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=626b901f60446355e35e8c76c6b391a7d7491203'/>
<id>urn:sha1:626b901f60446355e35e8c76c6b391a7d7491203</id>
<content type='text'>
On ARM64, Hyper-V now specifies the interrupt to be used by VMbus
in the ACPI DSDT.  This information is not used on x86 because the
interrupt vector must be hardcoded.  But update the generic
VMbus driver to do the parsing and pass the information to the
architecture specific code that sets up the Linux IRQ.  Update
consumers of the interrupt to get it from an architecture specific
function.

Signed-off-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Link: https://lore.kernel.org/r/1597434304-40631-1-git-send-email-mikelley@microsoft.com
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
</content>
</entry>
<entry>
<title>x86/hyperv: Make hv_setup_sched_clock inline</title>
<updated>2020-08-11T10:41:15Z</updated>
<author>
<name>Michael Kelley</name>
</author>
<published>2020-08-10T01:29:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b9d8cf2eb3ceecdee3434b87763492aee9e28845'/>
<id>urn:sha1:b9d8cf2eb3ceecdee3434b87763492aee9e28845</id>
<content type='text'>
Make hv_setup_sched_clock inline so the reference to pv_ops works
correctly with objtool updates to detect noinstr violations.
See https://lore.kernel.org/patchwork/patch/1283635/

Signed-off-by: Michael Kelley &lt;mikelley@microsoft.com&gt;
Acked-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Acked-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Link: https://lore.kernel.org/r/1597022991-24088-1-git-send-email-mikelley@microsoft.com
Signed-off-by: Wei Liu &lt;wei.liu@kernel.org&gt;
</content>
</entry>
</feed>
