RealView.py (12077:3c014d139dc7) | RealView.py (12116:5aeb6cc0993a) |
---|---|
1# Copyright (c) 2009-2017 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 --- 725 unchanged lines hidden (view full) --- 734 self.gic = Pl390(dist_addr=0x2C001000, cpu_addr=0x2C002000, it_lines=512) 735 self.gicv2m = Gicv2m() 736 self.gicv2m.frames = [Gicv2mFrame(spi_base=256, spi_len=64, addr=0x2C1C0000)] 737 738 def setupBootLoader(self, mem_bus, cur_sys, loc): 739 self.nvmem = SimpleMemory(range = AddrRange('64MB'), 740 conf_table_reported = False) 741 self.nvmem.port = mem_bus.master | 1# Copyright (c) 2009-2017 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 --- 725 unchanged lines hidden (view full) --- 734 self.gic = Pl390(dist_addr=0x2C001000, cpu_addr=0x2C002000, it_lines=512) 735 self.gicv2m = Gicv2m() 736 self.gicv2m.frames = [Gicv2mFrame(spi_base=256, spi_len=64, addr=0x2C1C0000)] 737 738 def setupBootLoader(self, mem_bus, cur_sys, loc): 739 self.nvmem = SimpleMemory(range = AddrRange('64MB'), 740 conf_table_reported = False) 741 self.nvmem.port = mem_bus.master |
742 cur_sys.boot_loader = loc('boot_emm.arm') | 742 if not cur_sys.boot_loader: 743 cur_sys.boot_loader = loc('boot_emm.arm') |
743 cur_sys.atags_addr = 0x8000000 744 cur_sys.load_addr_mask = 0xfffffff 745 cur_sys.load_offset = 0x80000000 746 747class VExpress_EMM64(VExpress_EMM): 748 # Three memory regions are specified totalling 512GB 749 _mem_regions = [(Addr('2GB'), Addr('2GB')), (Addr('34GB'), Addr('30GB')), 750 (Addr('512GB'), Addr('480GB'))] 751 pci_host = GenericPciHost( 752 conf_base=0x30000000, conf_size='256MB', conf_device_bits=12, 753 pci_pio_base=0x2f000000) 754 755 def setupBootLoader(self, mem_bus, cur_sys, loc): 756 self.nvmem = SimpleMemory(range=AddrRange(0, size='64MB'), 757 conf_table_reported=False) 758 self.nvmem.port = mem_bus.master | 744 cur_sys.atags_addr = 0x8000000 745 cur_sys.load_addr_mask = 0xfffffff 746 cur_sys.load_offset = 0x80000000 747 748class VExpress_EMM64(VExpress_EMM): 749 # Three memory regions are specified totalling 512GB 750 _mem_regions = [(Addr('2GB'), Addr('2GB')), (Addr('34GB'), Addr('30GB')), 751 (Addr('512GB'), Addr('480GB'))] 752 pci_host = GenericPciHost( 753 conf_base=0x30000000, conf_size='256MB', conf_device_bits=12, 754 pci_pio_base=0x2f000000) 755 756 def setupBootLoader(self, mem_bus, cur_sys, loc): 757 self.nvmem = SimpleMemory(range=AddrRange(0, size='64MB'), 758 conf_table_reported=False) 759 self.nvmem.port = mem_bus.master |
759 cur_sys.boot_loader = loc('boot_emm.arm64') | 760 if not cur_sys.boot_loader: 761 cur_sys.boot_loader = loc('boot_emm.arm64') |
760 cur_sys.atags_addr = 0x8000000 761 cur_sys.load_addr_mask = 0xfffffff 762 cur_sys.load_offset = 0x80000000 763 764 765class VExpress_GEM5_V1(RealView): 766 """ 767The VExpress gem5 memory map is loosely based on a modified --- 154 unchanged lines hidden (view full) --- 922 def attachPciDevice(self, device, *args, **kwargs): 923 device.host = self.pci_host 924 self._attach_device(device, *args, **kwargs) 925 926 def setupBootLoader(self, mem_bus, cur_sys, loc): 927 self.nvmem = SimpleMemory(range=AddrRange(0, size='64MB'), 928 conf_table_reported=False) 929 self.nvmem.port = mem_bus.master | 762 cur_sys.atags_addr = 0x8000000 763 cur_sys.load_addr_mask = 0xfffffff 764 cur_sys.load_offset = 0x80000000 765 766 767class VExpress_GEM5_V1(RealView): 768 """ 769The VExpress gem5 memory map is loosely based on a modified --- 154 unchanged lines hidden (view full) --- 924 def attachPciDevice(self, device, *args, **kwargs): 925 device.host = self.pci_host 926 self._attach_device(device, *args, **kwargs) 927 928 def setupBootLoader(self, mem_bus, cur_sys, loc): 929 self.nvmem = SimpleMemory(range=AddrRange(0, size='64MB'), 930 conf_table_reported=False) 931 self.nvmem.port = mem_bus.master |
930 cur_sys.boot_loader = [ loc('boot_emm.arm64'), loc('boot_emm.arm') ] | 932 if not cur_sys.boot_loader: 933 cur_sys.boot_loader = [ loc('boot_emm.arm64'), loc('boot_emm.arm') ] |
931 cur_sys.atags_addr = 0x8000000 932 # the old load_add_mask 0xfffffff works for 32-bit kernel 933 # but not the 64-bit one. The new value 0x7ffffff works for both 934 cur_sys.load_addr_mask = 0x7ffffff 935 cur_sys.load_offset = 0x80000000 936 937 # Setup m5ops. It's technically not a part of the boot 938 # loader, but this is the only place we can configure the 939 # system. 940 cur_sys.m5ops_base = 0x10010000 | 934 cur_sys.atags_addr = 0x8000000 935 # the old load_add_mask 0xfffffff works for 32-bit kernel 936 # but not the 64-bit one. The new value 0x7ffffff works for both 937 cur_sys.load_addr_mask = 0x7ffffff 938 cur_sys.load_offset = 0x80000000 939 940 # Setup m5ops. It's technically not a part of the boot 941 # loader, but this is the only place we can configure the 942 # system. 943 cur_sys.m5ops_base = 0x10010000 |