qemu/hw/mem
David Hildenbrand e3213eb5ec memory-device: rewrite address assignment using ranges
Let's rewrite it properly using ranges. This fixes certain overflows that
are right now possible. E.g.

qemu-system-x86_64 -m 4G,slots=20,maxmem=40G -M pc \
    -object memory-backend-file,id=mem1,share,mem-path=/dev/zero,size=2G
    -device pc-dimm,memdev=mem1,id=dimm1,addr=-0x40000000

Now properly errors out instead of succeeding. (Note that qapi
parsing of huge uint64_t values is broken and fixes are on the way)

"can't add memory device [0xffffffffa0000000:0x80000000], usable range for
memory devices [0x140000000:0xe00000000]"

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20181214131043.25071-3-david@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-01-09 22:09:31 -02:00
..
Makefile.objs memory-device: introduce separate config option 2018-10-24 06:44:59 -03:00
memory-device.c memory-device: rewrite address assignment using ranges 2019-01-09 22:09:31 -02:00
nvdimm.c nvdimm: set non-volatile on the memory region 2018-11-06 21:35:05 +01:00
pc-dimm.c memory-device: trace when pre_plugging/plugging/unplugging 2018-10-24 06:44:59 -03:00
trace-events memory-device: trace when pre_plugging/plugging/unplugging 2018-10-24 06:44:59 -03:00