> From: Dexuan Cui <decui@xxxxxxxxxxxxx> > Sent: Thursday, April 20, 2023 6:30 PM > ... > 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@xxxxxxxxxxxxx> > Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx> > --- > > Changes in v2: > Fixed the inaccuracy in the commit message (Thanks Michael): > "Confidential VMs (CVMs)" -> "Confidential VMs (CVMs) running > without a paravisor". > > Added Michael's Reviewed-by. Hi Bjorn, Lorenzo, since this change is pure Hyper-V stuff, I'd like it to go through the hyper-v tree if you have no objection. The hyper-v tree already has a PCI patch from Michael: https://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux.git/commit/?h=hyperv-next&id=2c6ba4216844ca7918289b49ed5f3f7138ee2402 My patch won't apply cleanly without Michael's patch, because we both changed "struct hv_pcibus_device". Thanks, Dexuan