Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
230a489
util/error: allow non-NUL-terminated err->src
bonzini May 26, 2025
e8fb9c9
util/error: make func optional
bonzini May 28, 2025
b4ff3cf
rust: qemu-api: add bindings to Error
bonzini Jun 3, 2025
9a33f49
rust: qemu-api: add tests for Error bindings
bonzini May 29, 2025
4b66abe
rust: qdev: support returning errors from realize
bonzini May 23, 2025
b3bf86b
rust/hpet: change type of num_timers to usize
bonzini May 26, 2025
6e85cfe
hpet: adjust VMState for consistency with Rust version
bonzini May 29, 2025
14b5a79
hpet: return errors from realize if properties are incorrect
bonzini May 26, 2025
4d2fec8
rust/hpet: return errors from realize if properties are incorrect
bonzini May 23, 2025
869b0af
rust/hpet: Drop BqlCell wrapper for num_timers
trueptolemy May 26, 2025
9c00ef6
docs: update Rust module status
bonzini May 26, 2025
bc2a48d
rust: make TryFrom macro more resilient
bonzini Jun 5, 2025
4cdc489
i386/kvm: Prefault memory on page state change
tlendacky Mar 28, 2025
6e2d11b
futex: Check value after qemu_futex_wait()
akihikodaki May 29, 2025
1bc2c49
futex: Support Windows
akihikodaki May 29, 2025
32da70a
qemu-thread: Replace __linux__ with CONFIG_LINUX
akihikodaki May 26, 2025
d1895f4
qemu-thread: Avoid futex abstraction for non-Linux
akihikodaki May 26, 2025
69e10db
qemu-thread: Use futex for QemuEvent on Windows
akihikodaki May 26, 2025
0a765ca
qemu-thread: Use futex if available for QemuLockCnt
akihikodaki May 29, 2025
5e2312f
qemu-thread: Document QemuEvent
akihikodaki May 29, 2025
952691b
migration: Replace QemuSemaphore with QemuEvent
akihikodaki May 29, 2025
da926a8
migration/colo: Replace QemuSemaphore with QemuEvent
akihikodaki May 29, 2025
d401b7a
migration/postcopy: Replace QemuSemaphore with QemuEvent
akihikodaki May 29, 2025
23aec0d
hw/display/apple-gfx: Replace QemuSemaphore with QemuEvent
akihikodaki May 29, 2025
bc40e4f
target/i386: Detect flush-to-zero after rounding
pm215 May 19, 2025
397ef41
target/i386: Use correct type for get_float_exception_flags() values
pm215 May 19, 2025
57df511
target/i386: Wire up MXCSR.DE and FPUS.DE correctly
pm215 May 19, 2025
3f9bdfb
tests/tcg/x86_64/fma: add test for exact-denormal output
pm215 May 19, 2025
fc8da54
Merge tag 'python-pull-request' of https://gitlab.com/jsnow/qemu into…
stefanhaRH Jun 6, 2025
9621503
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
stefanhaRH Jun 6, 2025
8a1975e
tests/docker: expose $HOME/.cache/qemu as docker volume
stsquad Jun 3, 2025
cfd7ebd
gitlab: disable debug info on CI builds
stsquad Jun 3, 2025
4f5c818
tests/tcg: make aarch64 boot.S handle different starting modes
stsquad Jun 3, 2025
26b20dc
tests/qtest: Avoid unaligned access in IGB test
nabihestefan Jun 3, 2025
0dd99ef
contrib/plugins: add a scaling factor to the ips arg
stsquad Jun 3, 2025
0026553
contrib/plugins: allow setting of instructions per quantum
stsquad Jun 3, 2025
7aabb6d
include/exec: fix assert in size_memop
stsquad Jun 3, 2025
46b17eb
include/gdbstub: fix include guard in commands.h
stsquad Jun 3, 2025
3bb69b1
gdbstub: assert earlier in handle_read_all_regs
stsquad Jun 3, 2025
b265459
gdbstub: Implement qGDBServerVersion packet
disconnect3d Jun 3, 2025
63070ce
gdbstub: update aarch64-core.xml
epilys Jun 3, 2025
bc98ffd
Merge tag 'pull-10.1-maintainer-may-2025-070625-1' of https://gitlab.…
stefanhaRH Jun 7, 2025
9c55c03
hw/loongarch/virt: Fix big endian support with MCFG table
bibo-mao Jun 4, 2025
095e6fc
hw/intc/loongarch_pch: Convert to little endian with ID register
bibo-mao Jun 4, 2025
1e043ba
hw/intc/loongarch_extioi: Fix typo issue about register EXTIOI_COREIS…
bibo-mao Jun 5, 2025
93282c8
hw/loongarch/virt: inform guest of kvm
JohnsPony Jun 3, 2025
e7788da
target/loongarch: add check for fcond
gaosong-loongson Jun 3, 2025
4332a64
hw/loongarch/virt: Remove global variables about initrd
bibo-mao Apr 30, 2025
ffe89c1
hw/loongarch/virt: Remove global variables about memmap tables
bibo-mao Apr 30, 2025
a5844ea
hw/char/sh_serial: Delete fifo_timeout_timer in DeviceUnrealize
philmd Jan 24, 2025
65561d9
hw/char/sh_serial: Convert to TypeInfo
philmd Jan 24, 2025
8a486e3
hw/pci-host/raven: Remove is-legacy-prep property
zbalaton May 4, 2025
6315136
hw/pci-host/raven: Revert "raven: Move BIOS loading from board code t…
zbalaton May 4, 2025
17612f9
hw/core/resetcontainer: Consolidate OBJECT_DECLARE_SIMPLE_TYPE
trueptolemy May 14, 2025
8cab235
hw/hyperv/balloon: Consolidate OBJECT_DEFINE_SIMPLE_TYPE_WITH_INTERFACES
trueptolemy May 14, 2025
ea585b1
hw/ppc/e500: Move clock and TB frequency to machine class
zbalaton May 23, 2025
3c32fa9
hw/net/fsl_etsec: Set default MAC address
zbalaton May 23, 2025
a35391b
hw/ppc/e500: Use SysBusDevice API to access TYPE_CCSR's internal reso…
shentok May 23, 2025
bebcf2c
pc-bios: ensure installed ROMs don't have execute permissions
berrange May 30, 2025
f37efe5
MAINTAINERS: Update Akihiko Odaki's affiliation
akihikodaki May 31, 2025
ff1bc6f
tests/functional: Add a test for the Arduino UNO machine
huth Jun 3, 2025
6cfe590
accel/hvf: Fix TYPE_HVF_ACCEL instance size
philmd Jun 5, 2025
59a4757
hw/core/cpu: Move CacheType to general cpu.h
trueptolemy Jun 5, 2025
c7785e2
hw/gpio/pca9552: Avoid using g_newa()
philmd Jun 5, 2025
0ff9cd9
backends/tpm: Avoid using g_alloca()
philmd Jun 5, 2025
2f014ea
tests/unit/test-char: Avoid using g_alloca()
philmd Jun 5, 2025
61c4c25
hw/virtio/virtio-mem: Fix definition of VirtIOMEMClass
duanzhenzhong Jun 6, 2025
747a7ee
hw/virtio/virtio-pmem: Fix definition of VirtIOPMEMClass
duanzhenzhong Jun 6, 2025
2f8f01a
hw/gpio/aspeed: Fix definition of AspeedGPIOClass
duanzhenzhong Jun 6, 2025
860bb8b
hw/riscv/riscv-iommu: Remove definition of RISCVIOMMU[Pci|Sys]Class
duanzhenzhong Jun 6, 2025
3938180
hw/misc/stm32_rcc: Fix stm32_rcc_write() arguments order
philmb3487 Jun 7, 2025
32e02fd
hw/net/i82596: Update datasheet URL
RemZapCypher Jun 7, 2025
fb8449d
hw/net/i82596: Factor configure function out
RemZapCypher Jun 7, 2025
832cd70
seabios: update submodule to 1.17.0
kraxel Jun 11, 2025
cba36cf
seabios: update binaries to 1.17.0
kraxel Jun 11, 2025
0392c66
travis.yml: Remove the aarch64 job
huth May 30, 2025
6ad3a47
hw/s390x/s390-virtio-ccw: Remove the deprecated 4.1 machine type
huth May 19, 2025
b894cc2
tests/functional: Use the 'none' machine for the VNC test
huth Jun 3, 2025
3f11e5f
tests/functional: Speed up the avr_mega2560 test
huth Jun 3, 2025
23c9099
tests/functional: add skipLockedMemoryTest decorator
AlexMoshkov Jun 5, 2025
ec3a7a7
tests/functional: add memlock tests
AlexMoshkov Jun 5, 2025
e317f0c
tests/vm/README: fix documentation path in tests/vm/README
hasueng Jun 7, 2025
97b091c
MAINTAINERS: Update the paths to the testing documentation files
huth Jun 10, 2025
3784b6e
MAINTAINERS: Update Akihiko Odaki's affiliation
akihikodaki May 31, 2025
1da0025
scripts/meson-buildoptions: Sort coroutine_backend choices lexicograp…
shentok Jun 10, 2025
144227d
vfio/container: Fix vfio_listener_commit()
duanzhenzhong Jun 9, 2025
6c4f752
vfio/pci: Fix instance_size of VFIO_PCI_BASE
duanzhenzhong Jun 11, 2025
0fb8a62
hw/vfio/ap: notification handler for AP config changed event
Jun 9, 2025
bc36d14
hw/vfio/ap: store object indicating AP config changed in a queue
Jun 9, 2025
fd03360
hw/vfio/ap: Storing event information for an AP configuration change …
Jun 9, 2025
c393e6d
s390: implementing CHSC SEI for AP config change
Jun 9, 2025
7163c0b
vfio: export PCI helpers needed for vfio-user
jlevon Jun 7, 2025
59adfc6
vfio: add per-region fd support
jlevon Jun 7, 2025
a574b06
vfio: mark posted writes in region write callbacks
jlevon Jun 7, 2025
f95fd60
migration: cpr helpers
Jun 10, 2025
081c09d
migration: lower handler priority
Jun 10, 2025
54857b0
vfio/container: register container for cpr
Jun 10, 2025
c29a65e
vfio/container: preserve descriptors
Jun 10, 2025
1faadd9
vfio/container: discard old DMA vaddr
Jun 10, 2025
7e9f214
vfio/container: restore DMA vaddr
Jun 10, 2025
dac0dd6
vfio/container: mdev cpr blocker
Jun 10, 2025
eba1f65
vfio/container: recover from unmap-all-vaddr failure
Jun 10, 2025
8df3fa3
pci: export msix_is_pending
Jun 10, 2025
24c156d
pci: skip reset during cpr
Jun 10, 2025
031fbb7
vfio-pci: skip reset during cpr
Jun 10, 2025
906f524
vfio/pci: vfio_pci_vector_init
Jun 10, 2025
8f5c696
vfio/pci: vfio_notifier_init
Jun 10, 2025
d364d80
vfio/pci: pass vector to virq functions
Jun 10, 2025
c255918
vfio/pci: vfio_notifier_init cpr parameters
Jun 10, 2025
6d7696f
vfio/pci: vfio_notifier_cleanup
Jun 10, 2025
6f06e37
vfio/pci: export MSI functions
Jun 10, 2025
079e721
vfio: improve VFIODeviceIOOps docs
jlevon Jun 11, 2025
8887c7d
Merge tag 'pull-loongarch-20250610' of https://github.com/gaosong715/…
stefanhaRH Jun 11, 2025
a8b5c10
Merge tag 'hw-misc-20250610' of https://github.com/philmd/qemu into s…
stefanhaRH Jun 11, 2025
1c2d569
Merge tag 'seabios-1.17.0-20250611-pull-request' of https://gitlab.co…
stefanhaRH Jun 11, 2025
d82bb3f
Merge tag 'pull-request-2025-06-11' of https://gitlab.com/thuth/qemu …
stefanhaRH Jun 11, 2025
d9ce748
Merge tag 'pull-vfio-20250611' of https://github.com/legoater/qemu in…
stefanhaRH Jun 11, 2025
6f0273d
qga-win: implement a 'guest-get-load' command
kostyanf14 Mar 24, 2025
1ebbc8b
qga: Add tests for guest-get-load command
kostyanf14 Mar 24, 2025
f5ec751
hw/arm/virt: Check bypass iommu is not set for iommu-map DT property
shamiali2008 Jun 2, 2025
16a9b55
tests/functional: Add a test for the realview-eb-mpcore machine
huth Jun 3, 2025
d2f0d2d
Merge tag 'qga-pull-2025-06-12' of https://github.com/kostyanf14/qemu…
stefanhaRH Jun 12, 2025
c653b67
include/qemu/compiler: add QEMU_UNINITIALIZED attribute macro
stefanhaRH Jun 10, 2025
ba2868c
hw/virtio/virtio: avoid cost of -ftrivial-auto-var-init in hot path
stefanhaRH Jun 10, 2025
83750c1
block: skip automatic zero-init of large array in ioq_submit
berrange Jun 10, 2025
a503bdc
chardev/char-fd: skip automatic zero-init of large array
berrange Jun 10, 2025
45bb7fb
chardev/char-pty: skip automatic zero-init of large array
berrange Jun 10, 2025
9a23075
chardev/char-socket: skip automatic zero-init of large array
berrange Jun 10, 2025
2553d2d
hw/audio/ac97: skip automatic zero-init of large arrays
berrange Jun 10, 2025
ca2cc03
hw/audio/cs4231a: skip automatic zero-init of large arrays
berrange Jun 10, 2025
8236e20
hw/audio/es1370: skip automatic zero-init of large array
berrange Jun 10, 2025
2e438da
hw/audio/gus: skip automatic zero-init of large array
berrange Jun 10, 2025
5b6cd5c
hw/audio/marvell_88w8618: skip automatic zero-init of large array
berrange Jun 10, 2025
30c82f6
hw/audio/sb16: skip automatic zero-init of large array
berrange Jun 10, 2025
bb71d9f
hw/audio/via-ac97: skip automatic zero-init of large array
berrange Jun 10, 2025
8b1dac1
hw/char/sclpconsole-lm: skip automatic zero-init of large array
berrange Jun 10, 2025
ce14f24
hw/dma/xlnx_csu_dma: skip automatic zero-init of large array
berrange Jun 10, 2025
7048e70
hw/display/vmware_vga: skip automatic zero-init of large struct
berrange Jun 10, 2025
5a1f614
hw/hyperv/syndbg: skip automatic zero-init of large array
berrange Jun 10, 2025
6992c88
hw/misc/aspeed_hace: skip automatic zero-init of large array
berrange Jun 10, 2025
3ccc648
hw/net/rtl8139: skip automatic zero-init of large array
berrange Jun 10, 2025
e1afd5e
hw/net/tulip: skip automatic zero-init of large array
berrange Jun 10, 2025
21cf31c
hw/net/virtio-net: skip automatic zero-init of large arrays
berrange Jun 10, 2025
8b72328
hw/net/xgamc: skip automatic zero-init of large array
berrange Jun 10, 2025
7eeb1d3
hw/nvme/ctrl: skip automatic zero-init of large arrays
berrange Jun 10, 2025
3438eab
hw/ppc/pnv_occ: skip automatic zero-init of large struct
berrange Jun 10, 2025
5dd9087
hw/ppc/spapr_tpm_proxy: skip automatic zero-init of large arrays
berrange Jun 10, 2025
14997d5
hw/usb/hcd-ohci: skip automatic zero-init of large array
berrange Jun 10, 2025
55243ed
hw/scsi/lsi53c895a: skip automatic zero-init of large array
berrange Jun 10, 2025
ca0559e
hw/scsi/megasas: skip automatic zero-init of large arrays
berrange Jun 10, 2025
7708e29
hw/ufs/lu: skip automatic zero-init of large array
berrange Jun 10, 2025
751b0e7
net/socket: skip automatic zero-init of large array
berrange Jun 10, 2025
837b87c
net/stream: skip automatic zero-init of large array
berrange Jun 10, 2025
a6f0227
Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu in…
stefanhaRH Jun 12, 2025
e372214
qemu-options.hx: Fix reversed description of icount sleep behavior
Jun 6, 2025
bedcc74
target/arm: Define raw write for PMU CLR registers
akihikodaki May 31, 2025
73cdd84
docs/interop: convert qed_spec.txt to reStructuredText format
soconte Jun 9, 2025
5dc8e4e
hw/arm: make cpu targeted by arm_load_kernel the primary CPU.
Helflym May 26, 2025
6559e7a
hw/intc/arm_gic: introduce a first-cpu-index property
fkonrad May 26, 2025
cd38e63
hw/arm/mps2: Configure the AN500 CPU with 16 MPU regions
pm215 Jun 5, 2025
5ad2b1f
linux-user/arm: Fix return value of SYS_cacheflush
neuschaefer Jun 13, 2025
0bc0e92
Merge tag 'pull-target-arm-20250616' of https://git.linaro.org/people…
stefanhaRH Jun 16, 2025
9761ad5
meson: fix Windows build
oltolm Jun 12, 2025
6e15715
Merge tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu …
stefanhaRH Jun 16, 2025
9a02932
meson: cleanup win32 library detection
bonzini Jun 9, 2025
0f1d660
target/i386: fix TB exit logic in gen_movl_seg() when writing to SS
mcayland Jun 11, 2025
5d353cc
hw: Fix type constant for DTB files
shentok Jun 10, 2025
6c2888d
pc-bios/dtb/meson: Prefer target name to be outfile, not infile
shentok Jun 10, 2025
abf1832
rust: qemu_api: introduce MaybeUninit field projection
bonzini Feb 28, 2025
eb64a0c
rust: hpet: fully initialize object during instance_init
bonzini Apr 15, 2025
a441222
rust: qom: introduce ParentInit
bonzini Feb 28, 2025
8d394f6
rust: qom: make ParentInit lifetime-invariant
bonzini Feb 28, 2025
345bef4
rust: qom: change instance_init to take a ParentInit<>
bonzini Mar 4, 2025
8bf8814
hw/intc/loongarch_extioi: Add kernel irqchip realize function
bibo-mao Jun 6, 2025
228c541
hw/intc/loongarch_extioi: Add kernel irqchip save and restore function
bibo-mao Jun 6, 2025
412f655
hw/intc/loongarch_ipi: Add kernel irqchip realize function
bibo-mao Jun 6, 2025
14be318
hw/intc/loongson_ipi: Add load and save interface with ipi_common class
bibo-mao Jun 6, 2025
f936caa
hw/intc/loongarch_ipi: Add kernel irqchip save and restore function
bibo-mao Jun 6, 2025
5b0e05b
hw/intc/loongarch_pch_msi: Inject MSI interrupt to kernel
bibo-mao Jun 6, 2025
b758e28
hw/intc/loongarch_pch: Add kernel irqchip realize function
bibo-mao Jun 6, 2025
11a04c9
hw/intc/loongarch_pch: Add kernel irqchip save and restore function
bibo-mao Jun 6, 2025
0dd6798
hw/intc/loongarch_pch: Inject irq line interrupt to kernel
bibo-mao Jun 6, 2025
c642ddf
hw/loongarch/virt: Add reset support for kernel irqchip
bibo-mao Jun 6, 2025
74586a2
target/loongarch: Report error with split kernel_irqchip option
bibo-mao Jun 6, 2025
17fb88a
hw/loongarch/virt: Disable emulation with IOCSR misc register
bibo-mao Jun 6, 2025
27f5d50
hw/loongarch/virt: Add kernel irqchip support
bibo-mao Jun 6, 2025
c2a2e1a
target/loongarch: fix vldi/xvldi raise wrong error
gaosong-loongson Jun 4, 2025
1548c5c
rust: prepare variable definitions for multiple bindgen invocations
bonzini Jun 13, 2025
1ae4ca0
rust: move rust.bindgen to qemu-api crate
bonzini Jun 13, 2025
ab81002
rust/qemu-api: Add initial logging support based on C API
shentok Jun 15, 2025
1563f28
rust: pl011: Implement logging
shentok Jun 15, 2025
b783601
rust: pl011: Add missing logging to match C version
shentok Jun 15, 2025
6b3fad0
rust: hpet: fix new warning
bonzini Jun 16, 2025
e68ec29
i386/cpu: Move adjustment of CPUID_EXT_PDCM before feature_dependenci…
calmisi Mar 4, 2025
00268e0
i386/cpu: Warn about why CPUID_EXT_PDCM is not available
calmisi Mar 4, 2025
750560f
i386/tdx: Error and exit when named cpu model is requested
calmisi Jun 12, 2025
90d2bbd
i386/cpu: Rename enable_cpuid_0x1f to force_cpuid_0x1f
calmisi Jun 3, 2025
a38da9f
i386/tdx: Fix the typo of the comment of struct TdxGuest
calmisi Jun 3, 2025
41cd354
i386/tdx: Clarify the error message of mrconfigid/mrowner/mrownerconfig
calmisi Jun 3, 2025
688b075
update Linux headers to v6.16-rc3
bonzini Jun 19, 2025
427b8cf
i386/tdx: handle TDG.VP.VMCALL<GetTdVmCallInfo>
Apr 30, 2025
40da501
i386/tdx: handle TDG.VP.VMCALL<GetQuote>
yamahata Nov 28, 2022
43ba160
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
stefanhaRH Jun 21, 2025
e14236b
tcg: Add dbase argument to do_dup_store
rth7680 Mar 6, 2024
731422e
tcg: Add dbase argument to do_dup
rth7680 Mar 6, 2024
ca09b6b
tcg: Add dbase argument to expand_clr
rth7680 Mar 6, 2024
872dab5
tcg: Add base arguments to check_overlap_[234]
rth7680 Mar 6, 2024
7a74c13
tcg: Split out tcg_gen_gvec_2_var
rth7680 Mar 6, 2024
465b21f
tcg: Split out tcg_gen_gvec_3_var
rth7680 Mar 6, 2024
ebba58c
tcg: Split out tcg_gen_gvec_mov_var
rth7680 Mar 6, 2024
4474051
tcg: Split out tcg_gen_gvec_{add,sub}_var
rth7680 Mar 7, 2024
aa1cc0d
tcg: Split out tcg_gen_gvec_dup_imm_var
rth7680 Feb 6, 2025
a9cd024
linux-user/aarch64: Update hwcap bits from 6.14
rth7680 Jun 18, 2025
5171b79
linux-user: fix resource leaks in gen-vdso
berrange May 13, 2025
d01d42c
Merge tag 'pull-loongarch-20250619' of https://github.com/gaosong715/…
stefanhaRH Jun 23, 2025
fd03771
migration/ram: avoid to do log clear in the last round
May 14, 2025
8120dec
tests/qtest: Remove migration-helpers.c
May 23, 2025
0310d59
ui/vnc: Update display update interval when VM state changes to RUNNING
JurajMarcin May 21, 2025
8f87c87
migration: Support fd-based socket address in cpr_transfer_input
Jun 11, 2025
430671f
tests/migration: Setup pre-listened cpr.sock to remove race-condition.
Jun 11, 2025
983899e
migration: Don't sync volatile memory after migration completes
BenjaminChaney Jun 16, 2025
f47a672
memory: Export a helper to get intersection of a MemoryRegionSection …
Qiangcy Jun 12, 2025
ff12111
memory: Change memory_region_set_ram_discard_manager() to return the …
Qiangcy Jun 12, 2025
2205b84
memory: Unify the definiton of ReplayRamPopulate() and ReplayRamDisca…
Qiangcy Jun 12, 2025
5d6483e
ram-block-attributes: Introduce RamBlockAttributes to manage RAMBlock…
Qiangcy Jun 12, 2025
2fde3fb
physmem: Support coordinated discarding of RAM with guest_memfd
Qiangcy Jun 12, 2025
2b0e4ec
docs: introduce dedicated page about code provenance / sign-off
berrange Jun 16, 2025
b5d0055
docs: define policy limiting the inclusion of generated files
berrange Jun 16, 2025
3d40db0
docs: define policy forbidding use of AI code generators
berrange Jun 16, 2025
24c00b7
Merge tag 'migration-staging-pull-request' of https://gitlab.com/pete…
stefanhaRH Jun 24, 2025
f9a3def
Merge tag 'pull-tcg-20250623' of https://gitlab.com/rth7680/qemu into…
stefanhaRH Jun 24, 2025
cb06060
vfio-user: add vfio-user class and container
jlevon May 7, 2025
969ce9f
vfio-user: connect vfio proxy to remote server
jlevon Jun 12, 2025
548adc7
vfio-user: implement message receive infrastructure
jlevon Jan 5, 2022
0bc4c91
vfio-user: implement message send infrastructure
jlevon Oct 10, 2021
9554525
vfio-user: implement VFIO_USER_DEVICE_GET_INFO
jlevon Aug 7, 2021
fa17a13
vfio-user: implement VFIO_USER_DEVICE_GET_REGION_INFO
jlevon Aug 9, 2021
68cd225
vfio-user: implement VFIO_USER_REGION_READ/WRITE
jlevon Aug 9, 2021
c6da7ba
vfio-user: set up PCI in vfio_user_pci_realize()
jlevon Aug 8, 2021
0236419
vfio-user: implement VFIO_USER_DEVICE_GET/SET_IRQ*
jlevon Aug 8, 2021
676b314
vfio-user: forward MSI-X PBA BAR accesses to server
jlevon Apr 24, 2022
9800513
vfio-user: set up container access to the proxy
jlevon Aug 8, 2021
b0aabd3
vfio-user: implement VFIO_USER_DEVICE_RESET
jlevon Aug 9, 2021
a994ff8
vfio-user: implement VFIO_USER_DMA_MAP/UNMAP
jlevon May 2, 2024
cf8bdc2
vfio-user: implement VFIO_USER_DMA_READ/WRITE
jlevon Aug 9, 2021
30cae95
vfio-user: add 'x-msg-timeout' option
jlevon Feb 2, 2022
9023106
vfio-user: support posted writes
jlevon May 8, 2025
5f11f19
vfio-user: add coalesced posted writes
jlevon Aug 9, 2022
49828a5
docs: add vfio-user documentation
jlevon May 8, 2025
d528aab
vfio-user: introduce vfio-user protocol specification
tmakatos Aug 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
14 changes: 14 additions & 0 deletions .b4-config
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#
# Common b4 settings that can be used to send patches to QEMU upstream.
# https://b4.docs.kernel.org/
#

[b4]
send-series-to = qemu-devel@nongnu.org
send-auto-to-cmd = echo
send-auto-cc-cmd = scripts/get_maintainer.pl --noroles --norolestats --nogit --nogit-fallback
am-perpatch-check-cmd = scripts/checkpatch.pl -q --terse --no-summary --mailback -
prep-perpatch-check-cmd = scripts/checkpatch.pl -q --terse --no-summary --mailback -
searchmask = https://lore.kernel.org/qemu-devel/?x=m&t=1&q=%s
linkmask = https://lore.kernel.org/qemu-devel/%s
linktrailermask = Message-ID: <%s>
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,16 @@ emacs_mode = glsl
[*.json]
indent_style = space
emacs_mode = python

# by default follow QEMU's style
[*.pl]
indent_style = space
indent_size = 4
emacs_mode = perl

# but user kernel "style" for imported scripts
[scripts/{kernel-doc,get_maintainer.pl,checkpatch.pl}]
indent_style = tab
indent_size = 8
emacs_mode = perl

5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,8 @@
*.h.inc diff=c
*.m diff=objc
*.py diff=python
*.rs diff=rust
*.rs.inc diff=rust
Cargo.lock diff=toml merge=binary

*.patch -text -whitespace
20 changes: 12 additions & 8 deletions .gitlab-ci.d/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ variables:
# Each script line from will be in a collapsible section in the job output
# and show the duration of each line.
FF_SCRIPT_SECTIONS: 1
# The project has a fairly fat GIT repo so we try and avoid bringing in things
# we don't need. The --filter options avoid blobs and tree references we aren't going to use
# and we also avoid fetching tags.
GIT_FETCH_EXTRA_FLAGS: --filter=blob:none --filter=tree:0 --no-tags --prune --quiet

interruptible: true

Expand All @@ -41,6 +45,10 @@ variables:
- if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_TAG'
when: never

# Scheduled runs on mainline don't get pipelines except for the special Coverity job
- if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_PIPELINE_SOURCE == "schedule"'
when: never

# Cirrus jobs can't run unless the creds / target repo are set
- if: '$QEMU_JOB_CIRRUS && ($CIRRUS_GITHUB_REPO == null || $CIRRUS_API_TOKEN == null)'
when: never
Expand All @@ -61,14 +69,10 @@ variables:
- if: '$QEMU_CI != "1" && $QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
when: never

# Avocado jobs don't run in forks unless $QEMU_CI_AVOCADO_TESTING is set
- if: '$QEMU_JOB_AVOCADO && $QEMU_CI_AVOCADO_TESTING != "1" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
when: never


#############################################################
# Stage 2: fine tune execution of jobs in specific scenarios
# where the catch all logic is inapprorpaite
# where the catch all logic is inappropriate
#############################################################

# Optional jobs should not be run unless manually triggered
Expand All @@ -93,8 +97,8 @@ variables:
when: manual
allow_failure: true

# Avocado jobs can be manually start in forks if $QEMU_CI_AVOCADO_TESTING is unset
- if: '$QEMU_JOB_AVOCADO && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
# Functional jobs can be manually started in forks
- if: '$QEMU_JOB_FUNCTIONAL && $QEMU_CI_FUNCTIONAL != "1" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
when: manual
allow_failure: true

Expand All @@ -120,7 +124,7 @@ variables:
when: manual

# Jobs can run if any jobs they depend on were successful
- if: '$QEMU_JOB_SKIPPED && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH =~ /staging-[[:digit:]]+\.[[:digit:]]/'
- if: '$CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH =~ /staging-[[:digit:]]+\.[[:digit:]]/'
when: on_success
variables:
QEMU_CI_CONTAINER_TAG: $CI_COMMIT_REF_SLUG
Expand Down
80 changes: 60 additions & 20 deletions .gitlab-ci.d/buildtest-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,40 @@
key: "$CI_JOB_NAME"
when: always
before_script:
- source scripts/ci/gitlab-ci-section
- section_start setup "Pre-script setup"
- JOBS=$(expr $(nproc) + 1)
- cat /packages.txt
- section_end setup
script:
- export CCACHE_BASEDIR="$(pwd)"
- export CCACHE_DIR="$CCACHE_BASEDIR/ccache"
- export CCACHE_MAXSIZE="500M"
- export PATH="$CCACHE_WRAPPERSDIR:$PATH"
- du -sh .git
- mkdir build
- cd build
- ccache --zero-stats
- section_start configure "Running configure"
- ../configure --enable-werror --disable-docs --enable-fdt=system
--disable-debug-info
${TARGETS:+--target-list="$TARGETS"}
$CONFIGURE_ARGS ||
{ cat config.log meson-logs/meson-log.txt && exit 1; }
- if test -n "$LD_JOBS";
then
pyvenv/bin/meson configure . -Dbackend_max_links="$LD_JOBS" ;
fi || exit 1;
- make -j"$JOBS"
- section_end configure
- section_start build "Building QEMU"
- $MAKE -j"$JOBS"
- section_end build
- section_start test "Running tests"
- if test -n "$MAKE_CHECK_ARGS";
then
make -j"$JOBS" $MAKE_CHECK_ARGS ;
$MAKE -j"$JOBS" $MAKE_CHECK_ARGS ;
fi
- section_end test
- ccache --show-stats

# We jump some hoops in common_test_job_template to avoid
Expand All @@ -44,22 +56,30 @@
exclude:
- build/**/*.p
- build/**/*.a.p
- build/**/*.fa.p
- build/**/*.c.o
- build/**/*.c.o.d
- build/**/*.fa

.common_test_job_template:
extends: .base_job_template
stage: test
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
script:
- source scripts/ci/gitlab-ci-section
- section_start buildenv "Setting up to run tests"
- scripts/git-submodule.sh update roms/SLOF
- meson subprojects download $(cd build/subprojects && echo *)
- build/pyvenv/bin/meson subprojects download $(cd build/subprojects && echo *)
- cd build
- find . -type f -exec touch {} +
# Avoid recompiling by hiding ninja with NINJA=":"
- make NINJA=":" $MAKE_CHECK_ARGS
# We also have to pre-cache the functional tests manually in this case
- if [ "x${QEMU_TEST_CACHE_DIR}" != "x" ]; then
$MAKE precache-functional ;
fi
- section_end buildenv
- section_start test "Running tests"
# doctests need all the compilation artifacts
- $MAKE NINJA=":" MTESTARGS="--no-suite doc" $MAKE_CHECK_ARGS
- section_end test

.native_test_job_template:
extends: .common_test_job_template
Expand All @@ -72,12 +92,12 @@
reports:
junit: build/meson-logs/testlog.junit.xml

.avocado_test_job_template:
.functional_test_job_template:
extends: .common_test_job_template
cache:
key: "${CI_JOB_NAME}-cache"
paths:
- ${CI_PROJECT_DIR}/avocado-cache
- ${CI_PROJECT_DIR}/functional-cache
policy: pull-push
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
Expand All @@ -86,21 +106,41 @@
paths:
- build/tests/results/latest/results.xml
- build/tests/results/latest/test-results
- build/tests/functional/*/*/*.log
reports:
junit: build/tests/results/latest/results.xml
before_script:
- mkdir -p ~/.config/avocado
- echo "[datadir.paths]" > ~/.config/avocado/avocado.conf
- echo "cache_dirs = ['${CI_PROJECT_DIR}/avocado-cache']"
>> ~/.config/avocado/avocado.conf
- echo -e '[job.output.testlogs]\nstatuses = ["FAIL", "INTERRUPT"]'
>> ~/.config/avocado/avocado.conf
- if [ -d ${CI_PROJECT_DIR}/avocado-cache ]; then
du -chs ${CI_PROJECT_DIR}/avocado-cache ;
fi
- export AVOCADO_ALLOW_UNTRUSTED_CODE=1
- export QEMU_TEST_ALLOW_UNTRUSTED_CODE=1
- export QEMU_TEST_CACHE_DIR=${CI_PROJECT_DIR}/functional-cache
after_script:
- cd build
- du -chs ${CI_PROJECT_DIR}/avocado-cache
- du -chs ${CI_PROJECT_DIR}/*-cache
variables:
QEMU_JOB_AVOCADO: 1
QEMU_JOB_FUNCTIONAL: 1

.wasm_build_job_template:
extends: .base_job_template
stage: build
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
before_script:
- source scripts/ci/gitlab-ci-section
- section_start setup "Pre-script setup"
- JOBS=$(expr $(nproc) + 1)
- section_end setup
script:
- du -sh .git
- mkdir build
- cd build
- section_start configure "Running configure"
- emconfigure ../configure --disable-docs
${TARGETS:+--target-list="$TARGETS"}
$CONFIGURE_ARGS ||
{ cat config.log meson-logs/meson-log.txt && exit 1; }
- if test -n "$LD_JOBS";
then
pyvenv/bin/meson configure . -Dbackend_max_links="$LD_JOBS" ;
fi || exit 1;
- section_end configure
- section_start build "Building QEMU"
- emmake make -j"$JOBS"
- section_end build
Loading