Messages in this thread | | | From | Tom Lendacky <> | Subject | [PATCH v1.1 0/2] Provide SEV-SNP support for unaccepted memory | Date | Wed, 3 Aug 2022 13:11:03 -0500 |
| |
This series adds SEV-SNP support for unaccepted memory to the patch series titled:
[PATCHv7 00/14] mm, x86/cc: Implement support for unaccepted memory
Currently, when changing the state of a page under SNP, the page state change structure is kmalloc()'d. This lead to hangs during boot when accepting memory because the allocation can trigger the need to accept more memory. So this series consists of two patches:
- A pre-patch to switch from a kmalloc()'d page state change structure to a static page state change structure proteced with access protected by a spinlock.
- SNP support for unaccepted memory.
The series is based off of and tested against Kirill Shutemov's tree: https://github.com/intel/tdx.git guest-unaccepted-memory
---
This is what the static structure / spinlock method looks like. Let me know if this approach is preferred over the per-CPU structure. If so, I'll submit this as a v2.
Thanks, Tom
Tom Lendacky (2): x86/sev: Use per-CPU PSC structure in prep for unaccepted memory support x86/sev: Add SNP-specific unaccepted memory support
arch/x86/Kconfig | 1 + arch/x86/boot/compressed/mem.c | 3 ++ arch/x86/boot/compressed/sev.c | 10 ++++- arch/x86/boot/compressed/sev.h | 23 +++++++++++ arch/x86/include/asm/sev.h | 3 ++ arch/x86/kernel/sev.c | 71 ++++++++++++++++++++++----------- arch/x86/mm/unaccepted_memory.c | 4 ++ 7 files changed, 91 insertions(+), 24 deletions(-) create mode 100644 arch/x86/boot/compressed/sev.h
-- 2.36.1
| |