On 3/7/2025 9:44 AM, Michael Kelley wrote:
> From: Nuno Das Neves Sent: Wednesday,
> February 26, 2025 3:08 PM
>
>>
>> This will handle SYNIC interrupts such as intercepts, doorbells, and
>> scheduling messages intended for the mshv driver.
>
> Could you provide a bit more detailed commit messa
On 3/7/2025 9:26 AM, Michael Kelley wrote:
> From: Nuno Das Neves Sent: Wednesday,
> February 26, 2025 3:08 PM
>>
>> A few additional definitions are required for the mshv driver code
>> (to follow). Introduce those here and clean up a little bit while
>> at it.
>>
>> Signed-off-by: Nuno Das Neve
From: Michael Kelley Sent: Friday, March 7, 2025 3:21 PM
>
> From: Nuno Das Neves Sent: Friday, March
> 7, 2025
> 2:07 PM
> >
[snip]
> > >> @@ -485,6 +504,17 @@ int hv_common_cpu_init(unsigned int cpu)
> > >> *outputarg = (char *)mem + HV_HYP_PAGE_SIZE;
> > >>
From: Nuno Das Neves Sent: Wednesday,
February 26, 2025 3:08 PM
>
> A few additional definitions are required for the mshv driver code
> (to follow). Introduce those here and clean up a little bit while
> at it.
>
> Signed-off-by: Nuno Das Neves
> ---
> include/hyperv/hvgdk_mini.h | 64 +
On Wed, 5 Mar 2025 13:46:21 -0800 Haiyang Zhang wrote:
> - for (i = 0; i < max_num_devs; i++) {
> + for (i = 0; i < GDMA_DEV_LIST_SIZE &&
> + found_dev < resp.num_of_devs; i++) {
unfortunate mis-indent here, it blend with the code.
checkpatch is right that it should be aligned
From: Nuno Das Neves Sent: Wednesday,
February 26, 2025 3:08 PM
>
> Add a pointer hv_synic_eventring_tail to track the tail pointer for the
> SynIC event ring buffer for each SINT.
>
> This will be used by the mshv driver, but must be tracked independently
> since the driver module could be rem
On 3/6/2025 10:09 AM, Michael Kelley wrote:
> From: Michael Kelley Sent: Thursday, March 6, 2025
> 9:58 AM
>
>>
>> From: Nuno Das Neves Sent: Wednesday,
>> February
>> 26, 2025 3:08 PM
>>>
>>> Introduce hv_result_to_string() for this purpose. This allows
>>> hypercall failures to be debugged m
On 3/7/2025 3:21 PM, Michael Kelley wrote:
> From: Nuno Das Neves Sent: Friday, March
> 7, 2025 2:07 PM
>>
>> On 3/7/2025 9:02 AM, Michael Kelley wrote:
>>> From: Nuno Das Neves Sent: Wednesday,
>>> February 26, 2025 3:08 PM
Add a pointer hv_synic_eventring_tail to track the tail poin
From: Nuno Das Neves Sent: Friday, March 7,
2025 2:07 PM
>
> On 3/7/2025 9:02 AM, Michael Kelley wrote:
> > From: Nuno Das Neves Sent: Wednesday,
> > February 26, 2025 3:08 PM
> >>
> >> Add a pointer hv_synic_eventring_tail to track the tail pointer for the
> >> SynIC event ring buffer for eac
From: Nuno Das Neves Sent: Friday, February
28, 2025 4:38 PM
>
> On 2/26/2025 3:43 PM, Stanislav Kinsburskii wrote:
> > On Wed, Feb 26, 2025 at 03:08:02PM -0800, Nuno Das Neves wrote:
> >> This will handle SYNIC interrupts such as intercepts, doorbells, and
> >> scheduling messages intended for
On 3/6/2025 9:32 AM, Wei Liu wrote:
On Thu, Feb 27, 2025 at 10:50:30AM -0800, Roman Kisel wrote:
[...]
2. Scheduling. Here, there is the mature KVM and Xen code to find
inspiration in. Xen being the Type 1 hypervisor should likely be
closer to MSHV in my understanding.
Yes and no
This patch set allows the Hyper-V code to boot on ARM64 inside a Virtual Trust
Level. These levels are a part of the Virtual Secure Mode documented in the
Top-Level Functional Specification available at
https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/tlfs/vsm.
The OpenHCL parav
The KVM/arm64 uses SMCCC to detect hypervisor presence. That code is
private, and it follows the SMCCC specification. Other existing and
emerging hypervisor guest implementations can and should use that
standard approach as well.
Factor out a common infrastructure that the guests can use, update K
On 3/7/2025 9:02 AM, Michael Kelley wrote:
> From: Nuno Das Neves Sent: Wednesday,
> February 26, 2025 3:08 PM
>>
>> Add a pointer hv_synic_eventring_tail to track the tail pointer for the
>> SynIC event ring buffer for each SINT.
>>
>> This will be used by the mshv driver, but must be tracked in
To run in the VTL mode, Hyper-V drivers have to know what
VTL the system boots in, and the arm64/hyperv code does not
have the means to compute that.
Refactor the code to hoist the function that detects VTL,
make it arch-neutral to be able to employ it to get the VTL
on arm64.
Signed-off-by: Roma
The arm64 Hyper-V startup path relies on ACPI to detect
running under a Hyper-V compatible hypervisor. That
doesn't work on non-ACPI systems.
Hoist the ACPI detection logic into a separate function. Then
use the vendor-specific hypervisor service call (implemented
recently in Hyper-V) via SMCCC in
The hyperv guest code might run in various Virtual Trust Levels.
Report the level when the kernel boots in the non-default (0)
one.
Signed-off-by: Roman Kisel
---
arch/arm64/hyperv/mshyperv.c | 2 ++
arch/x86/hyperv/hv_vtl.c | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --gi
Kconfig dependencies for arm64 guests on Hyper-V require that be
ACPI enabled, and limit VTL mode to x86/x64. To enable VTL mode
on arm64 as well, update the dependencies. Since VTL mode requires
DeviceTree instead of ACPI, don’t require arm64 guests on Hyper-V
to have ACPI unconditionally.
Signed
To boot on ARM64, VMBus requires configuring interrupts. Missing
DMA coherence property is sub-optimal as the VMBus transations are
cache-coherent.
Add interrupts to be able to boot on ARM64. Add DMA coherence to
avoid doing extra work on maintaining caches on ARM64.
Signed-off-by: Roman Kisel
-
Various parts of the hyperv code need to know what VTL
the kernel runs at, most notably VMBus needs that to
establish communication with the host.
Initialize the Virtual Trust Level field to enable
booting in the Virtual Trust Level.
Signed-off-by: Roman Kisel
---
arch/arm64/hyperv/mshyperv.c |
The ARM64 PCI code for hyperv needs to know the VMBus root
device, and it is private.
Provide a function that returns it. Rename it from "hv_dev"
as "hv_dev" as a symbol is very overloaded. No functional
changes.
Signed-off-by: Roman Kisel
---
drivers/hv/vmbus_drv.c | 23 +++
The VMBus driver uses ACPI for interrupt assignment on
arm64 hence it won't function in the VTL mode where only
DeviceTree can be used.
Update the VMBus driver to discover interrupt configuration
from DT.
Signed-off-by: Roman Kisel
Reviewed-by: Michael Kelley
---
drivers/hv/vmbus_drv.c | 36 ++
On 3/7/2025 1:36 PM, Nuno Das Neves wrote:
> On 3/6/2025 11:05 AM, Michael Kelley wrote:
>> From: Nuno Das Neves Sent: Thursday,
>> February 27, 2025 4:21 PM
>>>
>>> On 2/26/2025 9:56 PM, Easwar Hariharan wrote:
On 2/26/2025 3:07 PM, Nuno Das Neves wrote:
> These non-nested msr and fast
Using acpi_irq_create_hierarchy() in the cases where the code
also handles OF leads to code duplication as the ACPI subsystem
doesn't provide means to compute the IRQ domain parent whereas
the OF does.
Introduce acpi_get_gsi_dispatcher() so that the drivers relying
on both ACPI and OF may use irq_
The hyperv-pci driver uses ACPI for MSI IRQ domain configuration on
arm64. It won't be able to do that in the VTL mode where only DeviceTree
can be used.
Update the hyperv-pci driver to get vPCI MSI IRQ domain in the DeviceTree
case, too.
Signed-off-by: Roman Kisel
---
drivers/pci/controller/pc
On 3/6/2025 11:05 AM, Michael Kelley wrote:
> From: Nuno Das Neves Sent: Thursday,
> February 27, 2025 4:21 PM
>>
>> On 2/26/2025 9:56 PM, Easwar Hariharan wrote:
>>> On 2/26/2025 3:07 PM, Nuno Das Neves wrote:
These non-nested msr and fast hypercall functions are present in x86,
but th
On 3/6/2025 11:23 AM, Michael Kelley wrote:
> From: Nuno Das Neves Sent: Wednesday,
> February 26, 2025 3:08 PM
>>
>
> Nit: For the patch Subject line, use prefix "Drivers: hv:" instead of with a
> slash.
> That's what we usually use and what you have used for other patches in this
> series.
>
From: Nuno Das Neves Sent: Wednesday,
February 26, 2025 3:08 PM
>
> This will handle SYNIC interrupts such as intercepts, doorbells, and
> scheduling messages intended for the mshv driver.
Could you provide a bit more detailed commit message? How does
the mshv_handler() relate to the vmbus_han
On 3/6/2025 9:57 AM, Michael Kelley wrote:
> From: Nuno Das Neves Sent: Wednesday,
> February 26, 2025 3:08 PM
>>
>> Introduce hv_result_to_string() for this purpose. This allows
>> hypercall failures to be debugged more easily with dmesg.
>>
>> Signed-off-by: Nuno Das Neves
>> ---
>> drivers/h
From: Nuno Das Neves Sent: Friday, March 7,
2025 3:30 PM
>
> On 3/7/2025 9:44 AM, Michael Kelley wrote:
> > From: Nuno Das Neves Sent: Wednesday,
> > February 26, 2025 3:08 PM
> >
> >>
> >> This will handle SYNIC interrupts such as intercepts, doorbells, and
> >> scheduling messages intended f
30 matches
Mail list logo