Hi,
Here is the newly published FRED virtualization spec by AMD for reference:
https://docs.amd.com/v/u/en-US/69191-PUB
Please feel free to share any feedback or questions.
Regards,
Shivansh
On 29-01-2026 12:06, Shivansh Dhiman wrote:
> This series adds SVM support for FRED (Flexible Return and Event Delivery)
> virtualization in KVM.
>
> FRED introduces simplified privilege level transitions to replace IDT-based
> event delivery and IRET returns, providing lower latency event handling while
> ensuring complete supervisor context on delivery and full user context on
> return. FRED defines event delivery for both ring 3->0 and ring 0->0
> transitions, and introduces ERETU for returning to ring 3 and ERETS for
> remaining in ring 0.
>
> AMD hardware extends the VMCB to support FRED virtualization with dedicated
> save area fields for FRED MSRs (RSP0-3, SSP1-3, STKLVLS, CONFIG) and control
> fields for event injection data (EXITINTDATA, EVENTINJDATA).
>
> The implementation spans seven patches. The important changes are:
>
> 1) Extend VMCB structures with FRED fields mentioned above and disable MSR
> interception for FRED-enabled guests to avoid unnecessary VM exits.
>
> 2) Support for nested exceptions where we populate event injection data
> when delivering exceptions like page faults and debug traps.
>
> This series is based on top of FRED support for VMX patchset [1],
> patches 1-17. The VMX patchset was rebased on top of v6.18.0 kernel.
>
> [1] https://lore.kernel.org/kvm/20251026201911.505204-1-xin@zytor.com
>
> Regards,
> Shivansh
> ---
> Neeraj Upadhyay (5):
> KVM: SVM: Initialize FRED VMCB fields
> KVM: SVM: Disable interception of FRED MSRs for FRED supported guests
> KVM: SVM: Save restore FRED_RSP0 for FRED supported guests
> KVM: SVM: Populate FRED event data on event injection
> KVM: SVM: Support FRED nested exception injection
>
> Shivansh Dhiman (2):
> KVM: SVM: Dump FRED context in dump_vmcb()
> KVM: SVM: Enable save/restore of FRED MSRs
>
> arch/x86/include/asm/svm.h | 35 ++++++++++-
> arch/x86/kvm/svm/svm.c | 116 +++++++++++++++++++++++++++++++++++--
> 2 files changed, 144 insertions(+), 7 deletions(-)
>
>
> base-commit: f76e83ecf6bce6d3793f828d92170b69e636f3c9