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>
9 lines
380 B
Meson
9 lines
380 B
Meson
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'))
|
|
|
|
softmmu_ss.add_all(when: 'CONFIG_MEM_DEVICE', if_true: mem_ss)
|