configs: Enable DTB autogeneration in starter_fs.py
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 25 Jan 2019 15:05:37 +0000 (15:05 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Wed, 30 Jan 2019 12:14:00 +0000 (12:14 +0000)
This patch is removing hardcoded default DTBs in favour of common DTB
autogeneration.

Change-Id: I68fdc2a169bfa8e8657c9ed4e4e127957a08cca1
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/15959
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

configs/example/arm/starter_fs.py

index a1997682ee5b174ce25c7312115d96f6ae35173a..6e53d7b8cdad7e1d098203ecf8cc16a27e45f2fa 100644 (file)
@@ -49,6 +49,7 @@ import os
 import m5
 from m5.util import addToPath
 from m5.objects import *
+from m5.options import *
 import argparse
 
 m5.util.addToPath('../..')
@@ -92,12 +93,6 @@ def create_cow_image(name):
 def create(args):
     ''' Create and configure the system object. '''
 
-    if not args.dtb:
-        dtb_file = SysPaths.binary("armv8_gem5_v1_%icpu.%s.dtb" %
-                                   (args.num_cores, default_dist_version))
-    else:
-        dtb_file = args.dtb
-
     if args.script and not os.path.isfile(args.script):
         print("Error: Bootscript %s does not exist" % args.script)
         sys.exit(1)
@@ -110,7 +105,6 @@ def create(args):
     system = devices.SimpleSystem(want_caches,
                                   args.mem_size,
                                   mem_mode=mem_mode,
-                                  dtb_filename=dtb_file,
                                   kernel=SysPaths.binary(args.kernel),
                                   readfile=args.script)
 
@@ -153,6 +147,12 @@ def create(args):
     # Setup gem5's minimal Linux boot loader.
     system.realview.setupBootLoader(system.membus, system, SysPaths.binary)
 
+    if args.dtb:
+        system.dtb_filename = args.dtb
+    else:
+        # No DTB specified: autogenerate DTB
+        system.generateDtb(m5.options.outdir, 'system.dtb')
+
     # Linux boot command flags
     kernel_cmd = [
         # Tell Linux to use the simulated serial port as a console