configs: Allow other CPU types in GPUFS

Previously the CPU type and memory modes were hardcoded for KVM, because
there was a deadlock bug. After some recent testing, this deadlock bug
no longer exists with the simple CPU models. Thus, changing the configs
to allow for other CPU models as a first step toward lifting the KVM
requirement from GPUFS.

Change-Id: Ib616c3ef60f173871421b55a8bb73b25ce2990b5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/69979
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Matt Sinclair <mattdsinclair@gmail.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
This commit is contained in:
Matthew Poremba
2023-04-20 13:18:26 -05:00
parent 70ef9b219c
commit c2c5cd1048

View File

@@ -61,7 +61,9 @@ def makeGpuFSSystem(args):
panic("Need at least 2GB of system memory to load amdgpu module")
# Use the common FSConfig to setup a Linux X86 System
(TestCPUClass, test_mem_mode, FutureClass) = Simulation.setCPUClass(args)
(TestCPUClass, test_mem_mode) = Simulation.getCPUClass(args.cpu_type)
if test_mem_mode == "atomic":
test_mem_mode = "atomic_noncaching"
disks = [args.disk_image]
if args.second_disk is not None:
disks.extend([args.second_disk])
@@ -91,10 +93,11 @@ def makeGpuFSSystem(args):
# Create specified number of CPUs. GPUFS really only needs one.
system.cpu = [
X86KvmCPU(clk_domain=system.cpu_clk_domain, cpu_id=i)
TestCPUClass(clk_domain=system.cpu_clk_domain, cpu_id=i)
for i in range(args.num_cpus)
]
system.kvm_vm = KvmVM()
if ObjectList.is_kvm_cpu(TestCPUClass):
system.kvm_vm = KvmVM()
# Create AMDGPU and attach to southbridge
shader = createGPU(system, args)