$ git log --pretty=format:'%h %s (%cs)%d'
a0eab49 arm64: Add SVE support (2019-11-22)
(HEAD -> master)
74c5e7b arm/arm64: Factor out ptrauth vcpu feature setup (2019-11-22)
254cb18 KVM: arm/arm64: Add a vcpu feature for pointer authentication (2019-11-22)
66b24a3 update_headers: Sync kvm UAPI headers with Linux 5.3 (2019-11-22)
207fb98 virtio: Ensure virt_queue is always initialised (2019-10-25)
51645dd README: Update my email address (2019-08-02)
292435b update_headers.sh: arm64: Copy sve_context.h if available (2019-07-03)
9f520be update_headers.sh: Cleanly report failure on error (2019-07-03)
3baf13c update_headers.sh: Add missing shell quoting (2019-07-03)
534cac2 README: Add maintainers section (2019-07-03)
...
$ git cat-file blob HEAD:README
Native Linux KVM tool
=====================
kvmtool is a lightweight tool for hosting KVM guests. As a pure virtualization
tool it only supports guests using the same architecture, though it supports
running 32-bit guests on those 64-bit architectures that allow this.
From the original announcement email:
-------------------------------------------------------
The goal of this tool is to provide a clean, from-scratch, lightweight
KVM host tool implementation that can boot Linux guest images (just a
hobby, won't be big and professional like QEMU) with no BIOS
dependencies and with only the minimal amount of legacy device
emulation.
It's great as a learning tool if you want to get your feet wet in
virtualization land: it's only 5 KLOC of clean C code that can already
boot a guest Linux image.
Right now it can boot a Linux image and provide you output via a serial
console, over the host terminal, i.e. you can use it to boot a guest
Linux image in a terminal or over ssh and log into the guest without
much guest or host side setup work needed.
--------------------------
This is the stand-alone version which does not live inside a Linux
kernel tree.
1. To check it out, clone the main git repository:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git
2. Compile the tool (for more elaborate instructions see INSTALL):
cd kvmtool && make
3. Download a raw userspace image:
wget http://wiki.qemu.org/download/linux-0.2.img.bz2 && bunzip2
linux-0.2.img.bz2
4. The guest kernel has to be built with the following configuration:
- For the default console output:
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
- For running 32bit images on 64bit hosts:
CONFIG_IA32_EMULATION=y
- Proper FS options according to image FS (e.g. CONFIG_EXT2_FS, CONFIG_EXT4_FS).
- For all virtio devices listed below:
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=y
- For virtio-blk devices (--disk, -d):
CONFIG_VIRTIO_BLK=y
- For virtio-net devices ([--network, -n] virtio):
CONFIG_VIRTIO_NET=y
- For virtio-9p devices (--virtio-9p):
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_9P_FS=y
- For virtio-balloon device (--balloon):
CONFIG_VIRTIO_BALLOON=y
- For virtio-console device (--console virtio):
CONFIG_VIRTIO_CONSOLE=y
- For virtio-rng device (--rng):
CONFIG_HW_RANDOM_VIRTIO=y
- For vesa device (--sdl or --vnc):
CONFIG_FB_VESA=y
5. And finally, launch the hypervisor:
./lkvm run --disk linux-0.2.img \
--kernel ../../arch/x86/boot/bzImage \
or
sudo ./lkvm run --disk linux-0.2.img \
--kernel ../../arch/x86/boot/bzImage \
--network virtio
The tool has been written by Pekka Enberg, Cyrill Gorcunov, Asias He,
Sasha Levin and Prasad Joshi. Special thanks to Avi Kivity for his help
on KVM internals and Ingo Molnar for all-around support and encouragement!
See the following thread for original discussion for motivation of this
project:
http://thread.gmane.org/gmane.linux.kernel/962051/focus=962620
Another detailed example can be found in the lwn.net article:
http://lwn.net/Articles/658511/
Contributing
------------
Please send patches for kvmtool to kvm@vger.kernel.org, in the usual git
patch format, including "kvmtool" in the mail subject. "kvmtool" can be
added automatically by issuing the command
git config format.subjectprefix "PATCH kvmtool"
in the git repository.
Maintainers
-----------
kvmtool is maintained by Will Deacon <will@kernel.org> and Julien Thierry
<julien.thierry.kdev@gmail.com>.
# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
nv arm64: Handle virtio endianness reset when running nested (2025-09-15)
arm64/nv-6.15 fixup! arm64: Generate HYP timer interrupt specifiers (2025-06-21)
arm64/nv-6.13 hack: Prevent virtio from dying bizarrely (2024-12-19)
arm64/nv-6.5 arm: Add counter offset control (2023-11-21)
zero-offset ugly hack to set the offsets to 0 (2023-03-13)
arm64/nv-5.16 Do not enable SVE with NV (2022-01-27)
msix-fixes virtio/pci: Size the MSI-X bar according to the number of MSI-X (2021-08-25)
m1-hacks kvmtool: arm64: Configure VM with the minimal required IPA space (2021-08-21)
rvic fixup! butcher GICv2m support to deal with rvid-based MSIs (2020-08-21)
pmu-filter arm64: Add PMU event filtering option (2020-02-15)
...
# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
--format='%(refname:short) %(subject) (%(creatordate:short))'
# no tags, yet...
# associated public inboxes:
# (number on the left is used for dev purposes)
3216 kvm
647 kvmarm
291 linux-arm-kernel
208 lkml
161 kvm-ppc
50 qemu-devel
48 virtualization
38 linux-mips
29 netdev
25 kvm-riscv
20 linux-perf-users
18 stable
14 u-boot
12 linux-fsdevel
12 linuxppc-dev
11 dri-devel
10 linux-riscv
10 linux-devicetree
9 dpdk-dev
9 linux-doc
9 git
9 buildroot
8 intel-gfx
8 linux-s390
7 xen-devel
7 qemu-riscv
6 linux-wireless
6 bpf
6 linux-api
6 openembedded-core
5 linux-nfs
5 linux-media
5 linux-bluetooth
5 nvdimm
5 openembedded-devel
5 linux-um
5 virtio-fs
4 linux-mtd
4 linux-block
4 linux-mediatek
4 netfilter-devel
4 linux-arm-msm
4 linux-mm
4 linux-nvdimm
4 linux-pm
4 linux-scsi
4 linux-btrfs
4 selinux
4 linux-pci
4 linux-remoteproc
4 linux-arch
4 containers
4 platform-driver-x86
4 linux-coco
4 linux-patches
4 virtio-dev
3 linux-samsung-soc
3 linux-crypto
3 linux-amlogic
3 fstests
3 alsa-devel
3 linux-usb
3 linux-renesas-soc
3 linux-clk
3 linux-serial
3 linux-m68k
3 io-uring
3 linux-mmc
3 linux-omap
3 linux-kbuild
3 linux-rockchip
3 linux-raid
3 target-devel
3 linux-sh
3 linux-staging
3 ltp
3 imx
3 b4-sent
3 linux-trace-kernel
3 devicetree-compiler
2 cocci
2 linux-xfs
2 linux-efi
2 linux-acpi
2 linux-integrity
2 linux-snps-arc
2 linux-hwmon
2 linux-rtc
2 linux-input
2 linux-kselftest
2 linux-gpio
2 dmaengine
2 linux-rdma
2 linux-parisc
2 linux-ext4
2 linux-security-module
2 workflows
2 linux-csky
2 amd-gfx
2 linux-unionfs
2 cip-dev
2 linux-audit
2 linux-dash
2 linux-pwm
2 linux-tegra
2 ceph-devel
2 linux-can
2 phone-devel
2 linux-hardening
2 dash
2 dm-devel
2 linux-fbdev
2 linux-sctp
2 lustre-devel
2 rust-for-linux
2 kernel-janitors
2 sparclinux
2 linux-sunxi
2 yocto-meta-freescale
2 yocto-meta-arm
2 yocto-docs
2 chrome-platform
2 yocto-meta-arago
2 openrisc
2 intel-wired-lan
2 loongarch
2 batman
2 intel-xe
2 ecryptfs
2 grub-devel
2 linux-alpha
2 linux-hexagon
2 linux-sound
2 lvs-devel
2 igt-dev
1 linux-fscrypt
1 linux-nvme
1 live-patching
1 linux-edac
1 linux-cifs
1 linux-erofs
1 linux-iommu
1 driverdev-devel
1 kernel-hardening
1 linux-iio
1 linux-next
1 linux-leds
1 linux-f2fs-devel
1 linux-modules
1 kernelnewbies
1 linux-rt-users
1 linux-sgx
1 linux-ide
1 linux-watchdog
1 linux-trace-devel
1 linux-hyperv
1 rcu
1 linux-i3c
1 util-linux
1 linux-spdx
1 linux-wpan
1 ksummit-discuss
1 wireguard
1 backports
1 linux-kernel-mentees
1 linux-man
1 tpmdd-devel
1 linux-firmware
1 linux-spi
1 linux-i2c
1 linux-bcache
1 linux-sparse
1 mm-commits
1 lttng-dev
1 linux-fpga
1 xdp-newbies
1 openbmc
1 keyrings
1 linux-cxl
1 soc
1 ocfs2-devel
1 ath10k
1 ath11k
1 nouveau
1 linux-phy
1 mptcp
1 regressions
1 ksummit
1 b43-dev
1 historical-speck
1 linux-nfc
1 linux-bcachefs
1 ath9k-devel
1 ntfs3
1 llvm
1 fio
1 iwd
1 ell
1 ofono
1 yocto
1 yocto-toaster
1 bitbake-devel
1 yocto-meta-virtualization
1 ntb
1 yocto-meta-ti
1 outreachy
1 xenomai
1 damon
1 asahi
1 kexec
1 ath12k
1 oe-linux-nfc
1 oe-kbuild-all
1 oe-chipsec
1 virtio-comment
1 v9fs
1 poky
1 linux-ia64
1 cluster-devel
1 kdevops
1 kbd
1 autofs
1 cpufreq
1 dccp
1 cgroups
1 devicetree-spec
1 initramfs
1 hail-devel
1 kvm-ia64
1 linux-8086
1 kernel-testers
1 linux-btrace
1 linux-embedded
1 linux-hams
1 linux-hotplug
1 linux-laptop
1 trinity
1 reiserfs-devel
1 linux-metag
1 linux-x25
1 linux-nilfs
1 netfilter
1 linux-oxnas
1 u-boot-amlogic
1 lm-sensors
1 lvm-devel
1 acpica-devel
1 perfbook
1 smatch
1 fuego
1 wireless-regdb
1 powertop
1 dtrace
1 yocto-patches
1 barebox
git clone https://yhbt.net/lore/pub/scm/linux/kernel/git/maz/kvmtool.git