COCONUT-SVSM Development Release v2026.04-devel

Jörg Rödel <[email protected]> Wed, 29 Apr 2026 14:03:54 +0200
Newsgroups dev.linux.lists.coconut-svsm,dev.linux.lists.linux-coco
Message-ID <zfncgtcusdbgfa55ny5gel6nxey3umhm7m5klqmqspun5onaay@lj2h4tqqqlhg>
Hi all,

It is my pleasure to announce the COCONUT-SVSM development release
v2026.04-devel. It features 75 non-merge commits since the last release, the
highlights are:

  - Added initial VirtIO-VSOCK support in SVSM.

  - Reworked task scheduling and execution control.

  - Refactored virtual memory and page fault handling.

  - Added support for partial TLB flushes, including range-based CPU TLB
    flushing.

  - Updated the IGVM/stage2 boot flow.

  - Expanded kernel test coverage, including compile-time layout assertions
    plus simple stacktrace and symbol-resolution tests.
  
  - Refreshed documentation, especially around attestation, installation
    requirements, and debugging guidance.

All the details are in the shortlog below. A big thanks again to the
COCONUT-SVSM community for all the effort in driving the project forward!

Best,

	Joerg

Shortlog:

Carlos López (32):
      kernel: debug/symbols: fix symtab slice length
      kernel: debug/symbols: add a simple symbol resolution test
      kernel: debug/stacktrace: add a simple stacktrace test
      kernel: cpu/tlb: rename TlbFlushScope::flush_all() to flush_all_cpus()
      kernel: cpu/tlb: allow specifying address ranges in TlbFlushScope
      kernel: cpu/tlb: support partial TLB flushes
      kernel: sev/tlb: strongly type INVLPGB RAX
      kernel: sev/tlb: merge flush_tlb_global_sync and flush_tlb_sync()
      kernel: sev/tlb: hide helper TLB functions
      kernel: sev/tlb: support partial TLB flushes
      kernel: cpu/tlb: expose partial TLB flush functions
      kernel: protocols/core: flush individual PVALIDATE entries
      kernel: sev/tlb: add additional inline assembly flags
      kernel: tests: convert struct layout tests to compile-time assertions
      kernel: mm/address_space: const-compute temporary mapping area size
      kernel: cpu/percpu: initialize vrange allocators in initialize_vm_ranges()
      kernel: mm/vm: remove Mapping type
      kernel: mm/vm/range: remove mapping in one go
      kernel: mm/vm/mapping: remove incorrect documentation
      kernel: mm/vm/range: make VMR::virt_range() return a MemoryRegion
      kernel: task: remove unnecessary unwrap()
      kernel: task: remove unused Task::handle_pf()
      kernel: mm/vm/range: always populate page table as part of #PF handling
      kernel: mm/vm: make handle_page_fault() take &self
      kernel: mm/vm: rewire page faults
      kernel: task/mm: ensure VMR addresses are VMR_GRANULE-aligned
      kernel: mm/vm: check VMR invariants upfront
      libtcgtpm: do not link libcrt for userspace targets
      xbuild: use workspace dependencies
      packit: update to latest commit
      xbuild: use packit as a library
      cpuarch: add CPUID page accessors

Gerd Hoffmann (1):
      libtcgtpm: remove libtcgtpm.a

Joerg Roedel (1):
      COCONUT-SVSM Release 2026.04-devel

Jon Lange (12):
      bootimg: implement `Error` for boot image errors
      igvmbuilder: use `Error::Display` for error messages
      stage2: build boot image in igvmbuilder
      stage2: remove secrets page from stage2
      svsm: validate lowmem in kernel if not done in stage2
      igvmbuilder: define abstraction for IGVM parameter layout
      igvmbuilder: make stage2 optional
      task: remove lock around `TaskSchedState`
      task: enforce mutual exclusion of execution
      task: add task termination test
      task/schedule: modify task rescheduling
      task/schedule: permit scheduler callers to disable interrupts

Luigi Leonardi (14):
      kernel: introduce VsockTransport trait for driver abstraction
      Revert "virtio: remove vsock support"
      virtio-drivers/socket: apply clippy lints
      virtio-drivers/connectionmanager: track connection established state
      virtio-drivers/connectionmanager: reject operations after peer shutdown
      virtio-drivers/connectionmanager: add `is_local_port_used`
      kernel/vsock: introduce virtio-vsock support
      kernel/vsock: introduce VsockStream
      scripts/launch_guest: add vsock to launch_guest
      kernel/vsock: add in-svsm tests for VsockStream
      Makefile: fix clippy with CARGO_HACK
      kernel/vsock: fix SVSM crash in VsockStream when device is not available
      Documentation/ATTESTATION: fix wrong protocol and path in example description
      Documentation/ATTESTATION: correct wrong parameter name

Nicola Ramacciotti (8):
      docs: Move debugging information to developer section
      docs: Improve debugging guide
      docs: Clarify gdb usage
      gitignore: Avoid tracking gdb_history
      github/workflows: Update some actions to Node.js 24
      github/workflows: Fix cargo audit installation
      github/workflows: Unify and always run both compliance checks
      github/workflows: enable vhost support in QEMU build and install netcat

Nihal (1):
      github/workflows: cargo audit

Oliver Steffen (1):
      kernel: Verify ACPI table checksum

Stefano Garzarella (3):
      kernel/ghcb: add missing register offset assertions
      docs/INSTALL: update guest image requirement
      github/workflows: drop explicit checkout ref in PR workflows

Tanya Agarwal (1):
      Actions: add SPDX header check script

Vaishali Thakkar (1):
      igvmbuilder: remove obsolete debug_swap CLI options