The Linux Kernel
6.1.119
A guide to the Kernel Development Process
Submitting patches: the essential guide to getting your code into the kernel
Code of conduct
Kernel Maintainer Handbook
All development-process docs
Core API Documentation
The Linux driver implementer’s API guide
Kernel subsystem documentation
The Linux driver implementer’s API guide
Core API Documentation
locking
Accounting
Block
cdrom
Linux CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
Frame Buffer
fpga
Human Interface Devices (HID)
I2C/SMBus Subsystem
Industrial I/O
ISDN
InfiniBand
LEDs
NetLabel
Networking
pcmcia
Power Management
TCM Virtual Device
timers
Serial Peripheral Interface (SPI)
1-Wire Subsystem
Linux Watchdog Support
Linux Virtualization Support
KVM
The Definitive KVM (Kernel-based Virtual Machine) API Documentation
Devices
ARM
KVM for s390 systems
The PPC KVM paravirtual interface
KVM for x86 systems
KVM Lock Overview
KVM VCPU Requests
The KVM halt polling system
Review checklist for kvm patches
UML HowTo
Paravirt_ops
Guest halt polling
Nitro Enclaves
ACRN Hypervisor
The Definitive SEV Guest API Documentation
Hyper-V Enlightenments
The Linux Input Documentation
Linux Hardware Monitoring
Linux GPU Driver Developer’s Guide
Security Documentation
Linux Sound Subsystem Documentation
Linux Kernel Crypto API
Filesystems in the Linux kernel
Linux Memory Management Documentation
BPF Documentation
USB support
Linux PCI Bus Subsystem
Linux SCSI Subsystem
Assorted Miscellaneous Devices Documentation
Linux Scheduler
MHI
Linux PECI Subsystem
Locking in the kernel
Linux kernel licensing rules
How to write kernel documentation
Development tools for the kernel
Kernel Testing Guide
Kernel Hacking Guides
Linux Tracing Technologies
fault-injection
Kernel Livepatching
Rust
The Linux kernel user’s and administrator’s guide
The kernel build system
Reporting issues
User-space tools
The Linux kernel user-space API guide
The Linux kernel firmware guide
Open Firmware and Devicetree
CPU Architectures
Unsorted Documentation
Translations
The Linux Kernel
Kernel subsystem documentation
Linux Virtualization Support
KVM
KVM for x86 systems
View page source
KVM for x86 systems
¶
Secure Encrypted Virtualization (SEV)
Overview
SEV Key Management
References
KVM CPUID bits
Known limitations of CPU virtualization
x86
Linux KVM Hypercall
KVM Hypercalls Documentation
The x86 kvm shadow mmu
Acronyms
Virtual and real hardware supported
Translation
Memory
Events
Shadow pages
Reverse map
Synchronized and unsynchronized pages
Reaction to events
Emulating cr0.wp
Large pages
Fast invalidation of MMIO sptes
Further reading
KVM-specific MSRs
Custom MSR list
Nested VMX
Overview
Terminology
Running nested VMX
ABIs
Authors
Running nested guests with KVM
Use Cases
Enabling “nested” (x86)
Additional nested-related kernel parameters (x86)
Starting a nested guest (x86)
Enabling “nested” (s390x)
Live migration with nested KVM
Reporting bugs from nested setups
Timekeeping Virtualization for X86-Based Architectures
1. Overview
2. Timing Devices
3. TSC Hardware
4. Virtualization Problems