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