Re: [PATCH v3 08/13] KVM: arm64: Add support for KVM_EXIT_HYPERCALL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 18 May 2023 10:08:46 +0100,
Salil Mehta <salil.mehta@xxxxxxxxxx> wrote:
> 
> Hi Marc,
> 
> > From: Marc Zyngier <maz@xxxxxxxxxx>
> > Sent: Thursday, May 18, 2023 9:06 AM
> > To: Oliver Upton <oliver.upton@xxxxxxxxx>
> > Cc: Salil Mehta <salil.mehta@xxxxxxxxxx>; kvmarm@xxxxxxxxxxxxxxx;
> > kvm@xxxxxxxxxxxxxxx; Paolo Bonzini <pbonzini@xxxxxxxxxx>; James Morse
> > <james.morse@xxxxxxx>; Suzuki K Poulose <suzuki.poulose@xxxxxxx>; yuzenghui
> > <yuzenghui@xxxxxxxxxx>; Sean Christopherson <seanjc@xxxxxxxxxx>
> > Subject: Re: [PATCH v3 08/13] KVM: arm64: Add support for
> > KVM_EXIT_HYPERCALL
> > 
> > On Wed, 17 May 2023 19:38:14 +0100,
> > Oliver Upton <oliver.upton@xxxxxxxxx> wrote:
> > >
> > > Hi Salil,
> > >
> > > On Wed, May 17, 2023 at 06:00:18PM +0000, Salil Mehta wrote:
> > >
> > > [...]
> > >
> > > > > > Should we expose the ESR, or at least ESR_EL2.IL as an additional
> > > > > > flag?
> > > >
> > > >
> > > > I think we would need "Immediate value" of the ESR_EL2 register in the
> > > > user-space/VMM to be able to construct the syndrome value. I cannot see
> > > > where it is being sent?
> > >
> > > The immediate value is not exposed to userspace, although by definition
> > > the immediate value must be zero. The SMCCC spec requires all compliant
> > > calls to use an immediate of zero (DEN0028E 2.9).
> > >
> > > Is there a legitimate use case for hypercalls with a nonzero immediate?
> > > They would no longer be considered SMCCC calls at that point, so they
> > > wouldn't work with the new UAPI.
> > 
> > I agree. The use of non-zero immediate has long been deprecated. I
> > guess we should actually reject non-zero immediate for HVC just like
> > we do for SMC.
> 
> 
> Ok. Maybe I will hard code Immediate value as 0 to create a syndrome value
> at the VMM/Qemu and will also put a note stating non-zero immediate for
> HVC/SVC are not supported/deprecated.

Yes, because this should be the only situation where you should see
such an exit to userspace.

> > If there is an actual need for a non-zero immediate to be propagated
> > to userspace (want to emulate Xen's infamous 'HVC #0xEA1'?), then this
> > should be an extension to the current API.
> 
> Oh ok, then perhaps this new extension change should be simultaneously
> committed to avoid breaking Xen?

How would that break Xen? I don't have any plan to emulate Xen in any
shape or form, and I don't think anyone want to do that in userspace
either.

I really want to see an actual use case to expand this stuff. Because
so far, we follow the strict SMCCC spec, and nothing else. But if we
admit deviations, do we also have to expose SMC and HVC as different
instructions?

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux