1# Copyright (c) 2010-2012 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 --- 216 unchanged lines hidden (view full) --- 225 # Attach any PCI devices this platform supports 226 self.realview.attachPciDevices() 227 # default to an IDE controller rather than a CF one 228 try: 229 self.realview.ide.disks = [self.cf0] 230 except: 231 self.realview.cf_ctrl.disks = [self.cf0] 232 |
233 self.mem_ranges = [] 234 size_remain = long(Addr(mdesc.mem())) 235 for region in self.realview._mem_regions: 236 if size_remain > long(region[1]): 237 self.mem_ranges.append(AddrRange(region[0], size=region[1])) 238 size_remain = size_remain - long(region[1]) 239 else: 240 self.mem_ranges.append(AddrRange(region[0], size=size_remain)) 241 size_remain = 0 242 break 243 warn("Memory size specified spans more than one region. Creating" \ 244 " another memory controller for that range.") 245 246 if size_remain > 0: 247 fatal("The currently selected ARM platforms doesn't support" \ 248 " the amount of DRAM you've selected. Please try" \ 249 " another platform") 250 |
251 if bare_metal: 252 # EOT character on UART will end the simulation 253 self.realview.uart.end_on_eot = True |
254 else: 255 if machine_type == "VExpress_EMM64": 256 self.kernel = binary('vmlinux-3.16-aarch64-vexpress-emm64-pcie') 257 elif machine_type == "VExpress_EMM": 258 self.kernel = binary('vmlinux-3.3-arm-vexpress-emm-pcie') 259 else: 260 self.kernel = binary('vmlinux.arm.smp.fb.2.6.38.8') 261 262 if dtb_filename: 263 self.dtb_filename = binary(dtb_filename) 264 self.machine_type = machine_type 265 # Ensure that writes to the UART actually go out early in the boot 266 boot_flags = 'earlyprintk=pl011,0x1c090000 console=ttyAMA0 ' + \ 267 'lpj=19988480 norandmaps rw loglevel=8 ' + \ 268 'mem=%s root=/dev/sda1' % mdesc.mem() 269 |
270 self.realview.setupBootLoader(self.membus, self, binary) 271 self.gic_cpu_addr = self.realview.gic.cpu_addr 272 self.flags_addr = self.realview.realview_io.pio_addr + 0x30 273 274 if mdesc.disk().lower().count('android'): 275 boot_flags += " init=/init " 276 self.boot_osflags = boot_flags 277 self.realview.attachOnChipIO(self.membus, self.bridge) --- 294 unchanged lines hidden --- |