1# Copyright (c) 2010-2012, 2015 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 206 unchanged lines hidden (view full) --- 215 216 default_kernels = { 217 "RealViewEB": "vmlinux.arm.smp.fb.2.6.38.8", 218 "RealViewPBX": "vmlinux.arm.smp.fb.2.6.38.8", 219 "VExpress_EMM": "vmlinux.aarch32.ll_20131205.0-gem5", 220 "VExpress_EMM64": "vmlinux.aarch64.20140821", 221 } 222 |
223 pci_devices = [] 224 |
225 if bare_metal: 226 self = ArmSystem() 227 else: 228 self = LinuxArmSystem() 229 230 if not mdesc: 231 # generic system 232 mdesc = SysConfig() --- 21 unchanged lines hidden (view full) --- 254 fatal("No DTB specified and no default DTB known for '%s'" % \ 255 machine_type) 256 257 if isinstance(self.realview, VExpress_EMM64): 258 if os.path.split(mdesc.disk())[-1] == 'linux-aarch32-ael.img': 259 print "Selected 64-bit ARM architecture, updating default disk image..." 260 mdesc.diskname = 'linaro-minimal-aarch64.img' 261 |
262 263 # Attach any PCI devices this platform supports 264 self.realview.attachPciDevices() |
265 266 self.cf0 = CowIdeDisk(driveID='master') 267 self.cf0.childImage(mdesc.disk()) 268 # Old platforms have a built-in IDE or CF controller. Default to 269 # the IDE controller if both exist. New platforms expect the 270 # storage controller to be added from the config script. 271 if hasattr(self.realview, "ide"): |
272 self.realview.ide.disks = [self.cf0] |
273 elif hasattr(self.realview, "cf_ctrl"): |
274 self.realview.cf_ctrl.disks = [self.cf0] |
275 else: 276 self.pci_ide = IdeController(disks=[self.cf0]) 277 pci_devices.append(self.pci_ide) |
278 279 self.mem_ranges = [] 280 size_remain = long(Addr(mdesc.mem())) 281 for region in self.realview._mem_regions: 282 if size_remain > long(region[1]): 283 self.mem_ranges.append(AddrRange(region[0], size=region[1])) 284 size_remain = size_remain - long(region[1]) 285 else: --- 77 unchanged lines hidden (view full) --- 363 self.iocache.port = self.iobus.master 364 365 # Let system_port get to nvmem and nothing else. 366 self.bridge.ranges = [self.realview.nvmem.range] 367 368 self.realview.attachOnChipIO(self.iobus) 369 else: 370 self.realview.attachOnChipIO(self.membus, self.bridge) |
371 372 # Attach off-chip devices |
373 self.realview.attachIO(self.iobus) |
374 for dev_id, dev in enumerate(pci_devices): 375 dev.pci_bus, dev.pci_dev, dev.pci_func = (0, dev_id + 1, 0) 376 self.realview.attachPciDevice(dev, self.iobus) 377 |
378 self.intrctrl = IntrControl() 379 self.terminal = Terminal() 380 self.vncserver = VncServer() 381 382 self.system_port = self.membus.slave 383 384 return self 385 --- 321 unchanged lines hidden --- |