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. > 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? Thanks Salil