ARM: Fix memory starting at non-zero address and exceeding max mem for a system.
authorAli Saidi <saidi@eecs.umich.edu>
Fri, 9 Mar 2012 21:45:47 +0000 (16:45 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Fri, 9 Mar 2012 21:45:47 +0000 (16:45 -0500)
configs/common/FSConfig.py
configs/example/fs.py

index 85dfb10f45d8e8b3cca22b059f52f2976265b74b..5ae36791c0fdb979f5eee7c29a13c8414036df9a 100644 (file)
@@ -276,10 +276,11 @@ def makeArmSystem(mem_mode, machine_type, mdesc = None, bare_metal=False):
     else:
         self.kernel = binary('vmlinux.arm.smp.fb.2.6.38.8')
         self.machine_type = machine_type
-        if convert.toMemorySize(mdesc.mem()) > self.realview.max_mem_size:
+        if convert.toMemorySize(mdesc.mem()) > int(self.realview.max_mem_size):
             print "The currently selected ARM platforms doesn't support"
             print " the amount of DRAM you've selected. Please try"
             print " another platform"
+            sys.exit(1)
 
         boot_flags = 'earlyprintk console=ttyAMA0 lpj=19988480 norandmaps ' + \
                      'rw loglevel=8 mem=%s root=/dev/sda1' % mdesc.mem()
index b3d607a1b0f24920e469af629c6914cf76d3b953..98e5147fc021e639fa4e7b52188d8a9e5c2f5752 100644 (file)
@@ -157,7 +157,7 @@ if bm[0]:
 else:
     mem_size = SysConfig().mem()
 if options.caches or options.l2cache:
-    test_sys.iocache = IOCache(addr_ranges=[mem_size])
+    test_sys.iocache = IOCache(addr_ranges=[test_sys.physmem.range])
     test_sys.iocache.cpu_side = test_sys.iobus.master
     test_sys.iocache.mem_side = test_sys.membus.slave
 else: