summary refs log tree commit diff stats
path: root/hw/mem/meson.build
diff options
context:
space:
mode:
authorAlexander Bulekov <alxndr@bu.edu>2021-03-15 10:05:10 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2021-03-16 14:30:30 -0400
commit230376d285b38f5b83882ebdd2e0d0570431dd09 (patch)
treeab179fb04da2c021b4e140879185a612c772db56 /hw/mem/meson.build
parentd7da0e560128e56f55a2f1f27fa66dd8c5db446c (diff)
downloadfocaccia-qemu-230376d285b38f5b83882ebdd2e0d0570431dd09.tar.gz
focaccia-qemu-230376d285b38f5b83882ebdd2e0d0570431dd09.zip
memory: add a sparse memory device for fuzzing
For testing, it can be useful to simulate an enormous amount of memory
(e.g. 2^64 RAM). This adds an MMIO device that acts as sparse memory.
When something writes a nonzero value to a sparse-mem address, we
allocate a block of memory. For now, since the only user of this device
is the fuzzer, we do not track and free zeroed blocks. The device has a
very low priority (so it can be mapped beneath actual RAM, and virtual
device MMIO regions).

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/mem/meson.build')
-rw-r--r--hw/mem/meson.build1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/mem/meson.build b/hw/mem/meson.build
index 0d22f2b572..ef79e04678 100644
--- a/hw/mem/meson.build
+++ b/hw/mem/meson.build
@@ -1,5 +1,6 @@
 mem_ss = ss.source_set()
 mem_ss.add(files('memory-device.c'))
+mem_ss.add(when: 'CONFIG_FUZZ', if_true: files('sparse-mem.c'))
 mem_ss.add(when: 'CONFIG_DIMM', if_true: files('pc-dimm.c'))
 mem_ss.add(when: 'CONFIG_NPCM7XX', if_true: files('npcm7xx_mc.c'))
 mem_ss.add(when: 'CONFIG_NVDIMM', if_true: files('nvdimm.c'))