1# Copyright (c) 2018 The Regents of the University of California
2# All Rights Reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

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

37
38valid_isas = {
39 'x86': ('AtomicSimpleCPU', 'TimingSimpleCPU', 'DerivO3CPU'),
40 'arm': ('AtomicSimpleCPU', 'TimingSimpleCPU', 'MinorCPU', 'DerivO3CPU'),
41 'riscv': ('AtomicSimpleCPU', 'TimingSimpleCPU', 'MinorCPU', 'DerivO3CPU'),
42}
43
44
45base_path = joinpath(absdirpath(__file__), 'benchmarks', 'bin')
46base_url = 'http://gem5.org/dist/current/gem5/cpu_tests/benchmarks/bin/'
47for isa in valid_isas:
46 bm_dir = joinpath('gem5/cpu_tests/benchmarks/bin/', isa)
48 path = joinpath(base_path, isa)
49 for workload in workloads:
50 ref_path = joinpath(getcwd(), 'ref', workload)
51 verifiers = (
52 verifier.MatchStdout(ref_path),
53 )
54
53 workload_binary = DownloadedProgram(bm_dir, workload)
54 workload_path = workload_binary.path
55 url = base_url + isa + '/' + workload
56 workload_binary = DownloadedProgram(url, path, workload)
57 binary = joinpath(workload_binary.path, workload)
58
59 for cpu in valid_isas[isa]:
60 gem5_verify_config(
61 name='cpu_test_{}_{}'.format(cpu,workload),
62 verifiers=verifiers,
63 config=joinpath(getcwd(), 'run.py'),
61 config_args=['--cpu={}'.format(cpu), workload_path],
64 config_args=['--cpu={}'.format(cpu), binary],
65 valid_isas=(isa.upper(),),
66 fixtures=[workload_binary]
67 )