k to Coconut github project
>
> Documentation/virt/hyperv/coco.rst | 260
> Documentation/virt/hyperv/index.rst | 1 +
> 2 files changed, 261 insertions(+)
> create mode 100644 Documentation/virt/hyperv/coco.rst
>
Looks good to me.
Reviewed-by: Easwar Hariharan
Thank you for adding much needed documentation throughout the tree!
On 6/10/2024 1:28 PM, mhkelle...@gmail.com wrote:
> From: Michael Kelley
>
> Add documentation topic for Confidential Computing (CoCo) VM support
> in Linux guests on Hyper-V.
>
> Signed-off-by: Michael Kelley
> ---
> Documen
ibing the synic and
> reorganize existing text to make this more clear.
>
> Signed-off-by: Michael Kelley
> ---
> Changes in v2:
> * In clocks.rst, made a hyperlink for the reference to VMBus documentation
> [Easwar Hariharan]
>
> Documentation/virt/hyperv/clocks.rst
lley
> ---
> Documentation/virt/hyperv/overview.rst | 22 +++
> Documentation/virt/hyperv/vmbus.rst| 82 +-
> 2 files changed, 52 insertions(+), 52 deletions(-)
>
Looks good to me, FWIW:
Reviewed-by: Easwar Hariharan
On 5/7/2024 6:16 AM, mhkelle...@gmail.com wrote:
> From: Michael Kelley
>
> Current documentation does not describe how Linux handles the synthetic
> interrupt controller (synic) that Hyper-V provides to guest VMs, nor how
> VMBus or timer interrupts are handled. Add text describing the synic and
functions directly access the PCI config
> +space, and the accesses trap to Hyper-V to be handled.
> +But in CoCo VMs, memory encryption prevents Hyper-V
> +from reading the guest instruction stream to emulate the
> +access, so the hv_pcifront_*() functions must invoke
> +hypercalls with explicit arguments describing the access to be
> +made.
> +
> +Config Block back-channel
> +-
> +The Hyper-V host and Hyper-V virtual PCI driver in Linux
> +together implement a non-standard back-channel communication
> +path between the host and guest. The back-channel path uses
> +messages sent over the VMBus channel associated with the vPCI
> +device. The functions hyperv_read_cfg_blk() and
> +hyperv_write_cfg_blk() are the primary interfaces provided to
> +other parts of the Linux kernel. As of this writing, these
> +interfaces are used only by the Mellanox mlx5 driver to pass
> +diagnostic data to a Hyper-V host running in the Azure public
> +cloud. The functions hyperv_read_cfg_blk() and
> +hyperv_write_cfg_blk() are implemented in a separate module
> +(pci-hyperv-intf.c, under CONFIG_PCI_HYPERV_INTERFACE) that
> +effectively stubs them out when running in non-Hyper-V
> +environments.
Otherwise, FWIW
Reviewed-by: Easwar Hariharan