[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4c45344f-a462-4d18-810d-8a76a4695a6b@citrix.com>
Date: Tue, 6 Jan 2026 18:52:21 +0000
From: Andrew Cooper <andrew.cooper3@...rix.com>
To: seanjc@...gle.com
Cc: Andrew Cooper <andrew.cooper3@...rix.com>, chengkev@...gle.com,
kvm@...r.kernel.org, linux-kernel@...r.kernel.org, pbonzini@...hat.com,
yosry.ahmed@...ux.dev
Subject: Re: [PATCH 2/2] KVM: SVM: Raise #UD if VMMCALL instruction is not
intercepted
> Mentioning L2 and L1 is confusing. It reads like arbitrary KVM behavior. And
> IMO the most notable thing is what's missing: an intercept check. _That_ is
> worth commenting, e.g.
>
> /*
> * VMMCALL #UDs if it's not intercepted, and KVM reaches this point if
> * and only if the VMCALL intercept is not set in vmcb12.
> */
Not intercepting VMMCALL is stated to be an unconditional VMRUN
failure. APM Vol3 15.5 Canonicalization and Consistency Checks.
The "VMMCALL was not intercepted" condition is probably what the
pipeline really checks, but really it means "in root mode".
In most nested virt scenarios, L1 knows it's in a VM and can use VMMCALL
for host facilities.
~Andrew
Powered by blists - more mailing lists