fs_bigLITTLE.py (11936:8ab45fd19f40) fs_bigLITTLE.py (12028:29ea3c7bc92f)
1# Copyright (c) 2016-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

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

46import m5
47import m5.util
48from m5.objects import *
49
50m5.util.addToPath("../../")
51
52from common import SysPaths
53from common import CpuConfig
1# Copyright (c) 2016-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

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

46import m5
47import m5.util
48from m5.objects import *
49
50m5.util.addToPath("../../")
51
52from common import SysPaths
53from common import CpuConfig
54from common import ex5_big
55from common import ex5_LITTLE
54
55import devices
56from devices import AtomicCluster, KvmCluster
57
58
59default_dtb = 'armv8_gem5_v1_big_little_2_2.dtb'
60default_kernel = 'vmlinux4.3.aarch64'
61default_disk = 'aarch64-ubuntu-trusty-headless.img'

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

90class LittleCluster(devices.CpuCluster):
91 def __init__(self, system, num_cpus, cpu_clock,
92 cpu_voltage="1.0V"):
93 cpu_config = [ CpuConfig.get("minor"), devices.L1I, devices.L1D,
94 devices.WalkCache, devices.L2 ]
95 super(LittleCluster, self).__init__(system, num_cpus, cpu_clock,
96 cpu_voltage, *cpu_config)
97
56
57import devices
58from devices import AtomicCluster, KvmCluster
59
60
61default_dtb = 'armv8_gem5_v1_big_little_2_2.dtb'
62default_kernel = 'vmlinux4.3.aarch64'
63default_disk = 'aarch64-ubuntu-trusty-headless.img'

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

92class LittleCluster(devices.CpuCluster):
93 def __init__(self, system, num_cpus, cpu_clock,
94 cpu_voltage="1.0V"):
95 cpu_config = [ CpuConfig.get("minor"), devices.L1I, devices.L1D,
96 devices.WalkCache, devices.L2 ]
97 super(LittleCluster, self).__init__(system, num_cpus, cpu_clock,
98 cpu_voltage, *cpu_config)
99
100class Ex5BigCluster(devices.CpuCluster):
101 def __init__(self, system, num_cpus, cpu_clock,
102 cpu_voltage="1.0V"):
103 cpu_config = [ CpuConfig.get("ex5_big"), ex5_big.L1I, ex5_big.L1D,
104 ex5_big.WalkCache, ex5_big.L2 ]
105 super(Ex5BigCluster, self).__init__(system, num_cpus, cpu_clock,
106 cpu_voltage, *cpu_config)
98
107
108class Ex5LittleCluster(devices.CpuCluster):
109 def __init__(self, system, num_cpus, cpu_clock,
110 cpu_voltage="1.0V"):
111 cpu_config = [ CpuConfig.get("ex5_LITTLE"), ex5_LITTLE.L1I,
112 ex5_LITTLE.L1D, ex5_LITTLE.WalkCache, ex5_LITTLE.L2 ]
113 super(Ex5LittleCluster, self).__init__(system, num_cpus, cpu_clock,
114 cpu_voltage, *cpu_config)
115
99def createSystem(caches, kernel, bootscript, disks=[]):
100 sys = devices.SimpleSystem(caches, default_mem_size,
101 kernel=SysPaths.binary(kernel),
102 readfile=bootscript,
103 machine_type="DTOnly")
104
105 sys.mem_ctrls = SimpleMemory(range=sys._mem_range)
106 sys.mem_ctrls.port = sys.membus.master

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

122
123 sys.realview.setupBootLoader(sys.membus, sys, SysPaths.binary)
124
125 return sys
126
127cpu_types = {
128 "atomic" : (AtomicCluster, AtomicCluster),
129 "timing" : (BigCluster, LittleCluster),
116def createSystem(caches, kernel, bootscript, disks=[]):
117 sys = devices.SimpleSystem(caches, default_mem_size,
118 kernel=SysPaths.binary(kernel),
119 readfile=bootscript,
120 machine_type="DTOnly")
121
122 sys.mem_ctrls = SimpleMemory(range=sys._mem_range)
123 sys.mem_ctrls.port = sys.membus.master

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

139
140 sys.realview.setupBootLoader(sys.membus, sys, SysPaths.binary)
141
142 return sys
143
144cpu_types = {
145 "atomic" : (AtomicCluster, AtomicCluster),
146 "timing" : (BigCluster, LittleCluster),
147 "exynos" : (Ex5BigCluster, Ex5LittleCluster),
130}
131
132# Only add the KVM CPU if it has been compiled into gem5
133if devices.have_kvm:
134 cpu_types["kvm"] = (KvmCluster, KvmCluster)
135
136
137def addOptions(parser):

--- 172 unchanged lines hidden ---
148}
149
150# Only add the KVM CPU if it has been compiled into gem5
151if devices.have_kvm:
152 cpu_types["kvm"] = (KvmCluster, KvmCluster)
153
154
155def addOptions(parser):

--- 172 unchanged lines hidden ---