On Tue, 17 May 2022 16:36:29 +0000 Janosch Frank <frankja@xxxxxxxxxxxxx> wrote: > Let's explain in which situations the rc/rrc will set in struct > kvm_pv_cmd so it's clear that the struct members should be set to > 0. rc/rrc are independent of the IOCTL return code. > > Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx> Acked-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > --- > Documentation/virt/kvm/api.rst | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst > index 06d1b717b032..7b0993e4106f 100644 > --- a/Documentation/virt/kvm/api.rst > +++ b/Documentation/virt/kvm/api.rst > @@ -5067,6 +5067,14 @@ into ESA mode. This reset is a superset of the initial reset. > __u32 reserved[3]; > }; > > +**Ultravisor return codes** > +The Ultravisor return (reason) codes are provided by the kernel if a > +Ultravisor call has been executed to achieve the results expected by > +the command. Therefore they are independent of the IOCTL return > +code. If KVM changes `rc`, its value will always be greater than 0 > +hence setting it to 0 before issuing a PV command is advised to be > +able to detect a change of `rc`. > + > **cmd values:** > > KVM_PV_ENABLE