diff options
author | Alexander Bulekov | 2021-03-15 15:05:10 +0100 |
---|---|---|
committer | Paolo Bonzini | 2021-03-16 19:30:30 +0100 |
commit | 230376d285b38f5b83882ebdd2e0d0570431dd09 (patch) | |
tree | ab179fb04da2c021b4e140879185a612c772db56 /include/hw/mem/sparse-mem.h | |
parent | fuzz: add a am53c974 generic-fuzzer config (diff) | |
download | qemu-230376d285b38f5b83882ebdd2e0d0570431dd09.tar.gz qemu-230376d285b38f5b83882ebdd2e0d0570431dd09.tar.xz 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 'include/hw/mem/sparse-mem.h')
-rw-r--r-- | include/hw/mem/sparse-mem.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/hw/mem/sparse-mem.h b/include/hw/mem/sparse-mem.h new file mode 100644 index 0000000000..f9863b154b --- /dev/null +++ b/include/hw/mem/sparse-mem.h @@ -0,0 +1,19 @@ +/* + * A sparse memory device. Useful for fuzzing + * + * Copyright Red Hat Inc., 2021 + * + * Authors: + * Alexander Bulekov <alxndr@bu.edu> + * + * This work is licensed under the terms of the GNU GPL, version 2 or later. + * See the COPYING file in the top-level directory. + */ + +#ifndef SPARSE_MEM_H +#define SPARSE_MEM_H +#define TYPE_SPARSE_MEM "sparse-mem" + +MemoryRegion *sparse_mem_init(uint64_t addr, uint64_t length); + +#endif |