Re: [GSoC 2026] PCID Support for COCONUT-SVSM
Luigi Leonardi <[email protected]> Thu, 29 Jan 2026 10:52:34 +0100
| Newsgroups | dev.linux.lists.coconut-svsm |
|---|---|
| Message-ID | <aXssgQwnTkX7C2pO@leonardi-redhat> |
Hi Joerg, On Wed, Jan 21, 2026 at 03:41:51PM +0100, Jörg Rödel wrote: >=== Support X86 Process Context Identifiers (PCID) in COCONUT-SVSM === > >COCONUT-SVSM is a Secure Virtual machine Service Module that runs at a >privileged level within a Confidential Virtual Machine (CVM) to provide trusted >services, such as a virtual TPM, to the guest operating system, independent of >the host hypervisor. > >The goal of the project is to enhance the COCONUT-SVSM kernel to make use of >the PCID feature on X86 to reduce the number of runtime TLB misses. The work >consists of several steps: > >1. Implement generic CPUID feature enumeration support by building a code > generator which automatically creates a Rust crate from the data provided by > the X86-CPUID project. Use that generated crate in COCONUT-SVSM for > detecting the PCID feature and clean up all the open coded CPUID checks. >2. Design and implement a PCID assignment strategy for tasks and threads in the > COCONUT kernel. >3. Apply the PCIDs in the COCONUT page-tables and adapt the TLB flushing code > to take PCIDs into account. > >'''Links:''' >* AMD64 APM 2 (PCIDs, Section 5.5.1.): https://docs.amd.com/v/u/en-US/24593_3.43 >* X86 cpuid project: https://x86-cpuid.org/ >* COCONUT-SVSM: https://github.com/coconut-svsm/svsm/ > >'''Details:''' >* Skill level: Intermediate >* Languages: Rust > I'm available to help co-mentor this project. Luigi