[GSoC 2026] PCID Support for COCONUT-SVSM
Jörg Rödel <[email protected]> Wed, 21 Jan 2026 15:41:51 +0100
| Newsgroups | dev.linux.lists.coconut-svsm |
|---|---|
| Message-ID | <[email protected]> |
=== 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