From f3ccaab1e982f4482177aefa95575f7d7dae21f7 Mon Sep 17 00:00:00 2001 From: David Hashe Date: Mon, 22 Aug 2016 11:41:05 -0400 Subject: cpu, mem, sim: Change how KVM maps memory Only map memories into the KVM guest address space that are marked as usable by KVM. Create BackingStoreEntry class containing flags for is_conf_reported, in_addr_map, and kvm_map. --- src/mem/AbstractMemory.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/mem/AbstractMemory.py') diff --git a/src/mem/AbstractMemory.py b/src/mem/AbstractMemory.py index ab1a6028c..d5b34bbd0 100644 --- a/src/mem/AbstractMemory.py +++ b/src/mem/AbstractMemory.py @@ -57,6 +57,12 @@ class AbstractMemory(MemObject): # e.g. by the testers that use shadow memories as a reference in_addr_map = Param.Bool(True, "Memory part of the global address map") + # When KVM acceleration is used, memory is mapped into the guest process + # address space and accessed directly. Some memories may need to be + # excluded from this mapping if they overlap with other memory ranges or + # are not accessible by the CPU. + kvm_map = Param.Bool(True, "Should KVM map this memory for the guest") + # Should the bootloader include this memory when passing # configuration information about the physical memory layout to # the kernel, e.g. using ATAG or ACPI -- cgit v1.2.3