]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
PCI: hv: Replace retarget_msi_interrupt_params with hyperv_pcpu_input_arg
authorDexuan Cui <decui@microsoft.com>
Fri, 21 Apr 2023 01:30:25 +0000 (18:30 -0700)
committerWei Liu <wei.liu@kernel.org>
Fri, 21 Apr 2023 21:25:23 +0000 (21:25 +0000)
commita494aef23dfc732945cb42e22246a5c31174e4a5
treef599e427011a8aa9a0b7f28d9c890a88df4068b6
parent9c318a1d9b5000c77527011f158a75c5483510f5
PCI: hv: Replace retarget_msi_interrupt_params with hyperv_pcpu_input_arg

4 commits are involved here:
A (2016): commit 0de8ce3ee8e3 ("PCI: hv: Allocate physically contiguous hypercall params buffer")
B (2017): commit be66b6736591 ("PCI: hv: Use page allocation for hbus structure")
C (2019): commit 877b911a5ba0 ("PCI: hv: Avoid a kmemleak false positive caused by the hbus buffer")
D (2018): commit 68bb7bfb7985 ("X86/Hyper-V: Enable IPI enlightenments")

Patch D introduced the per-CPU hypercall input page "hyperv_pcpu_input_arg"
in 2018. With patch D, we no longer need the per-Hyper-V-PCI-bus hypercall
input page "hbus->retarget_msi_interrupt_params" that was added in patch A,
and the issue addressed by patch B is no longer an issue, and we can also
get rid of patch C.

The change here is required for PCI device assignment to work for
Confidential VMs (CVMs) running without a paravisor, because otherwise we
would have to call set_memory_decrypted() for
"hbus->retarget_msi_interrupt_params" before calling the hypercall
HVCALL_RETARGET_INTERRUPT.

Signed-off-by: Dexuan Cui <decui@microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Acked-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Link: https://lore.kernel.org/r/20230421013025.17152-1-decui@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
drivers/pci/controller/pci-hyperv.c