Deleted Added
sdiff udiff text old ( 10437:caec4a7b8b74 ) new ( 10438:08fa6ad59594 )
full compact
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

--- 334 unchanged lines hidden (view full) ---

343
344 x86_sys.membus = MemBus()
345
346 # North Bridge
347 x86_sys.iobus = NoncoherentXBar()
348 x86_sys.bridge = Bridge(delay='50ns')
349 x86_sys.bridge.master = x86_sys.iobus.slave
350 x86_sys.bridge.slave = x86_sys.membus.master
351 # Allow the bridge to pass through the IO APIC (two pages),
352 # everything in the IO address range up to the local APIC, and
353 # then the entire PCI address space and beyond
354 x86_sys.bridge.ranges = \
355 [
356 AddrRange(x86_sys.pc.south_bridge.io_apic.pio_addr,
357 x86_sys.pc.south_bridge.io_apic.pio_addr +
358 APIC_range_size - 1),
359 AddrRange(IO_address_space_base,
360 interrupts_address_space_base - 1),
361 AddrRange(pci_config_address_space_base,
362 Addr.max)
363 ]
364
365 # Create a bridge from the IO bus to the memory bus to allow access to
366 # the local APIC (two pages)

--- 149 unchanged lines hidden (view full) ---

516 [
517 # Mark the first megabyte of memory as reserved
518 X86E820Entry(addr = 0, size = '639kB', range_type = 1),
519 X86E820Entry(addr = 0x9fc00, size = '385kB', range_type = 2),
520 # Mark the rest of physical memory as available
521 X86E820Entry(addr = 0x100000,
522 size = '%dB' % (self.mem_ranges[0].size() - 0x100000),
523 range_type = 1),
524 # Reserve the last 16kB of the 32-bit address space for the
525 # m5op interface
526 X86E820Entry(addr=0xFFFF0000, size='64kB', range_type=2),
527 ]
528
529 # In case the physical memory is greater than 3GB, we split it into two
530 # parts and add a separate e820 entry for the second part. This entry
531 # starts at 0x100000000, which is the first address after the space
532 # reserved for devices.
533 if len(self.mem_ranges) == 2:
534 entries.append(X86E820Entry(addr = 0x100000000,
535 size = '%dB' % (self.mem_ranges[1].size()), range_type = 1))
536

--- 29 unchanged lines hidden ---