summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/arm/ArmSystem.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/arch/arm/ArmSystem.py b/src/arch/arm/ArmSystem.py
index bee38a41c..98ff95918 100644
--- a/src/arch/arm/ArmSystem.py
+++ b/src/arch/arm/ArmSystem.py
@@ -37,6 +37,7 @@
# Glenn Bergmans
from m5.params import *
+from m5.options import *
from m5.SimObject import *
from m5.util.fdthelper import *
@@ -138,6 +139,19 @@ class GenericArmSystem(ArmSystem):
panic_on_oops = Param.Bool(False, "Trigger a gem5 panic if the " \
"guest kernel oopses")
+ def generateDtb(self, outdir, filename):
+ """
+ Autogenerate DTB. Arguments are the folder where the DTB
+ will be stored, and the name of the DTB file.
+ """
+ state = FdtState(addr_cells=2, size_cells=2, cpu_cells=1)
+ rootNode = self.generateDeviceTree(state)
+
+ fdt = Fdt()
+ fdt.add_rootnode(rootNode)
+ dtb_filename = os.path.join(outdir, filename)
+ self.dtb_filename = fdt.writeDtbFile(dtb_filename)
+
class LinuxArmSystem(GenericArmSystem):
type = 'LinuxArmSystem'
cxx_header = "arch/arm/linux/system.hh"