SEV_INIT requires users to unlock their SPI bus for the PSP's non volatile (NV) storage. Users may wish to lock their SPI bus for numerous reasons, to support this the PSP firmware supports SEV_INIT_EX. INIT_EX allows the firmware to use a region of memory for its NV storage leaving the kernel responsible for actually storing the data in a persistent way. This series adds a new module parameter to ccp allowing users to specify a path to a file for use as the PSP's NV storage. The ccp driver then reads the file into memory for the PSP to use and is responsible for writing the file whenever the PSP modifies the memory region. V4-5 * Fix make C=1 W=1 warnings. V3 * Add another module parameter 'psp_init_on_probe' to allow for skipping PSP init on module init. * Fixes review comments from Sean. * Fixes missing error checking with file reading. * Removed setting 'error' to a set value in patch 1. Signed-off-by: Peter Gonda <pgonda@xxxxxxxxxx> Reviewed-by: Marc Orr <marcorr@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Brijesh Singh <brijesh.singh@xxxxxxx> Cc: Tom Lendacky <thomas.lendacky@xxxxxxx> Cc: Brijesh Singh <brijesh.singh@xxxxxxx> Cc: Marc Orr <marcorr@xxxxxxxxxx> Cc: Joerg Roedel <jroedel@xxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: John Allen <john.allen@xxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx David Rientjes (1): crypto: ccp - Add SEV_INIT_EX support Peter Gonda (4): crypto: ccp - Add SEV_INIT rc error logging on init crypto: ccp - Move SEV_INIT retry for corrupted data crypto: ccp - Refactor out sev_fw_alloc() crypto: ccp - Add psp_init_on_probe module parameter .../virt/kvm/amd-memory-encryption.rst | 6 + drivers/crypto/ccp/sev-dev.c | 259 +++++++++++++++--- include/linux/psp-sev.h | 21 ++ 3 files changed, 245 insertions(+), 41 deletions(-) -- 2.34.1.400.ga245620fadb-goog