seL4_projects_libs/libsel4vm
June Andronick 366cc9088f fix broken internal links
Signed-off-by: June Andronick <june.andronick@proofcraft.systems>
2025-07-10 08:53:02 +10:00
..
arch_include smc_cap: Allow a custom smc handler 2023-09-05 14:08:22 +01:00
docs fix broken internal links 2025-07-10 08:53:02 +10:00
include/sel4vm libsel4vm: Map reservation from array of frames 2023-05-25 17:06:59 +10:00
sel4_arch_include Convert to SPDX license tags 2020-11-28 17:19:21 +11:00
src libsel4vm: Proper error for map_vm_memory_res 2025-02-22 10:57:42 +11:00
CMakeLists.txt smc_cap: Allow a custom smc handler 2023-09-05 14:08:22 +01:00
README.md Convert to SPDX license tags 2020-11-28 17:19:21 +11:00

README.md

libsel4vm

A guest hardware virtualisation library for X86 (32-bit) and ARM (aarch32 & aarch64) for use on seL4-based systems. Reference implementations using this library are:

For documentation on the libsel4vm interface see here

Features

  • Hardware virtualisation support for the following architectures:
    • ARM
      • ARMv7 (+ Virtualisation Extensions)
      • ARMv8
    • X86
      • ia32 (Intel VTX)
  • IRQ Controller emulation
    • GICv2 (aarch32, aarch64)
    • PIC & LAPIC (ia32)
  • Guest VM Memory and RAM Management
  • Guest VCPU Fault and Context Management
  • VM Runtime Management

Architecture Specific Features

ARM
  • SMP support for GICv2 (ARM) platforms
X86
  • IOPort fault registration handler
  • VMCall handler registration interface

Potential future features (yet to be implemented)

Architecture Specific Features

ARM
  • Virtual GICv3 support (aarch32 & aarch64)
      • SMP support for GICv3 platforms
X86
  • x86-64 support (Intel VTX)
  • SMP support on x86 platforms (ia32 & x86_64)

Note: This is a consolidated library composed of libraries previously known as (but now deprecated) 'libsel4vmm' (x86) and 'libsel4arm-vmm' (arm).