mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
FRED-enabled SEV-(ES,SNP) guests fail to boot due to the following issues
in the early boot sequence:
* FRED does not have a #VC exception handler in the dispatch logic
* Early FRED #VC exceptions attempt to use uninitialized per-CPU GHCBs
instead of boot_ghcb
Add X86_TRAP_VC case to fred_hwexc() with a new exc_vmm_communication()
function that provides the unified entry point FRED requires, dispatching
to existing user/kernel handlers based on privilege level. The function is
already declared via DECLARE_IDTENTRY_VC().
Fix early GHCB access by falling back to boot_ghcb in
__sev_{get,put}_ghcb() when per-CPU GHCBs are not yet initialized.
Fixes:
|
||
|---|---|---|
| .. | ||
| core.c | ||
| internal.h | ||
| Makefile | ||
| noinstr.c | ||
| svsm.c | ||
| vc-handle.c | ||
| vc-shared.c | ||