# Andreas Hansson
from m5.params import *
-from MemObject import MemObject
+from m5.objects.MemObject import MemObject
class AbstractMemory(MemObject):
type = 'AbstractMemory'
abstract = True
cxx_header = "mem/abstract_mem.hh"
- range = Param.AddrRange(AddrRange('128MB'), "Address range")
+
+ # A default memory size of 128 MB (starting at 0) is used to
+ # simplify the regressions
+ range = Param.AddrRange('128MB', "Address range (potentially interleaved)")
null = Param.Bool(False, "Do not store data, always return zero")
- zero = Param.Bool(False, "Initialize memory with zeros")
# All memories are passed to the global physical memory, and
# certain memories may be excluded from the global address map,
# 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
- conf_table_reported = Param.Bool(False, "Report to configuration table")
+ conf_table_reported = Param.Bool(True, "Report to configuration table")