stdlib,configs,tests: Remove deprecated Resource classes usage (#102)

* stdlib,configs,tests: Remove `Resource` class use

This class is deprecated, but was still used in various example
configuration scriots and tests. This patch replaces it with the
`obtain_resource` function.

Change-Id: I0c89bf17783ccaaafc18072aaeefb5d1e207bc55

* configs: Remove `CustomDiskImageResource` use

The class is deprecated but was still used in the SPEC example scripts.
This patch replaces it with the `DiskImageResource` class.

Change-Id: Ie0697fe59a3d737b05eb45ff3bc964f42b0387e0

* configs,tests: Remove `CustomResource` use

This class is deprecated but was still used in example scripts and
mentioned, incorrectly, in comments in the pyunit tests. This patch
removes these.

Change-Id: Icb6d02f47a5b72cd58551e5dcd59cc72d6a91a01

* stdlib: Remove '\' in Workload docstring example

This example shows how to use the Workload. The backslash is not correct Python and would fail if used in this way.

Co-authored-by: Jason Lowe-Power <jason@lowepower.com>

---------

Co-authored-by: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
Bobby R. Bruce
2023-07-20 23:08:39 -07:00
committed by GitHub
parent 427b4d596e
commit 01623fac68
25 changed files with 73 additions and 73 deletions

View File

@@ -43,7 +43,7 @@ scons build/ARM/gem5.opt
from gem5.isas import ISA from gem5.isas import ISA
from gem5.utils.requires import requires from gem5.utils.requires import requires
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.components.memory import SingleChannelDDR3_1600 from gem5.components.memory import SingleChannelDDR3_1600
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.components.boards.simple_board import SimpleBoard from gem5.components.boards.simple_board import SimpleBoard
@@ -84,7 +84,7 @@ board.set_se_binary_workload(
# Any resource specified in this file will be automatically retrieved. # Any resource specified in this file will be automatically retrieved.
# At the time of writing, this file is a WIP and does not contain all # At the time of writing, this file is a WIP and does not contain all
# resources. Jira ticket: https://gem5.atlassian.net/browse/GEM5-1096 # resources. Jira ticket: https://gem5.atlassian.net/browse/GEM5-1096
Resource("arm-hello64-static") obtain_resource("arm-hello64-static")
) )
# Lastly we run the simulation. # Lastly we run the simulation.

View File

@@ -48,7 +48,7 @@ scons build/RISCV/gem5.opt
from gem5.isas import ISA from gem5.isas import ISA
from gem5.utils.requires import requires from gem5.utils.requires import requires
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.components.memory import SingleChannelDDR3_1600 from gem5.components.memory import SingleChannelDDR3_1600
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.components.boards.simple_board import SimpleBoard from gem5.components.boards.simple_board import SimpleBoard
@@ -89,8 +89,8 @@ board = SimpleBoard(
# configs/example/gem5_library/checkpoints/riscv-hello-save-checkpoint.py # configs/example/gem5_library/checkpoints/riscv-hello-save-checkpoint.py
board.set_se_binary_workload( board.set_se_binary_workload(
# the workload should be the same as the save-checkpoint script # the workload should be the same as the save-checkpoint script
Resource("riscv-hello"), obtain_resource("riscv-hello"),
checkpoint=Resource("riscv-hello-example-checkpoint-v23"), checkpoint=obtain_resource("riscv-hello-example-checkpoint-v23"),
) )
simulator = Simulator( simulator = Simulator(

View File

@@ -46,7 +46,7 @@ scons build/RISCV/gem5.opt
import argparse import argparse
from gem5.isas import ISA from gem5.isas import ISA
from gem5.utils.requires import requires from gem5.utils.requires import requires
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.components.memory import SingleChannelDDR3_1600 from gem5.components.memory import SingleChannelDDR3_1600
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.components.boards.simple_board import SimpleBoard from gem5.components.boards.simple_board import SimpleBoard
@@ -101,7 +101,7 @@ board.set_se_binary_workload(
# Any resource specified in this file will be automatically retrieved. # Any resource specified in this file will be automatically retrieved.
# At the time of writing, this file is a WIP and does not contain all # At the time of writing, this file is a WIP and does not contain all
# resources. Jira ticket: https://gem5.atlassian.net/browse/GEM5-1096 # resources. Jira ticket: https://gem5.atlassian.net/browse/GEM5-1096
Resource("riscv-hello") obtain_resource("riscv-hello")
) )
# Lastly we run the simulation. # Lastly we run the simulation.

View File

@@ -35,7 +35,7 @@ correctly. If this is not done correctly this script will run with error.
from gem5.isas import ISA from gem5.isas import ISA
from gem5.utils.requires import requires from gem5.utils.requires import requires
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.components.memory import DRAMSysDDR3_1600 from gem5.components.memory import DRAMSysDDR3_1600
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.components.boards.simple_board import SimpleBoard from gem5.components.boards.simple_board import SimpleBoard
@@ -78,7 +78,7 @@ board.set_se_binary_workload(
# Any resource specified in this file will be automatically retrieved. # Any resource specified in this file will be automatically retrieved.
# At the time of writing, this file is a WIP and does not contain all # At the time of writing, this file is a WIP and does not contain all
# resources. Jira ticket: https://gem5.atlassian.net/browse/GEM5-1096 # resources. Jira ticket: https://gem5.atlassian.net/browse/GEM5-1096
Resource("arm-hello64-static") obtain_resource("arm-hello64-static")
) )
# Lastly we run the simulation. # Lastly we run the simulation.

View File

@@ -43,7 +43,7 @@ scons build/POWER/gem5.opt
from gem5.isas import ISA from gem5.isas import ISA
from gem5.utils.requires import requires from gem5.utils.requires import requires
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.components.memory import SingleChannelDDR4_2400 from gem5.components.memory import SingleChannelDDR4_2400
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.components.boards.simple_board import SimpleBoard from gem5.components.boards.simple_board import SimpleBoard
@@ -75,7 +75,7 @@ board = SimpleBoard(
cache_hierarchy=cache_hierarchy, cache_hierarchy=cache_hierarchy,
) )
board.set_se_binary_workload(Resource("power-hello")) board.set_se_binary_workload(obtain_resource("power-hello"))
# Lastly we run the simulation. # Lastly we run the simulation.
simulator = Simulator(board=board) simulator = Simulator(board=board)

View File

@@ -48,7 +48,7 @@ from gem5.components.cachehierarchies.classic.private_l1_private_l2_cache_hierar
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.isas import ISA from gem5.isas import ISA
from gem5.utils.requires import requires from gem5.utils.requires import requires
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
# Run a check to ensure the right version of gem5 is being used. # Run a check to ensure the right version of gem5 is being used.
@@ -79,8 +79,8 @@ board = RiscvBoard(
# Set the Full System workload. # Set the Full System workload.
board.set_kernel_disk_workload( board.set_kernel_disk_workload(
kernel=Resource("riscv-bootloader-vmlinux-5.10"), kernel=obtain_resource("riscv-bootloader-vmlinux-5.10"),
disk_image=Resource("riscv-disk-img"), disk_image=obtain_resource("riscv-disk-img"),
) )
simulator = Simulator(board=board) simulator = Simulator(board=board)

View File

@@ -37,7 +37,7 @@ scons build/RISCV/gem5.opt
``` ```
""" """
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
from gem5.prebuilt.riscvmatched.riscvmatched_board import RISCVMatchedBoard from gem5.prebuilt.riscvmatched.riscvmatched_board import RISCVMatchedBoard
from gem5.isas import ISA from gem5.isas import ISA
@@ -49,7 +49,7 @@ requires(isa_required=ISA.RISCV)
board = RISCVMatchedBoard() board = RISCVMatchedBoard()
# set the hello world riscv binary as the board workload # set the hello world riscv binary as the board workload
board.set_se_binary_workload(Resource("riscv-hello")) board.set_se_binary_workload(obtain_resource("riscv-hello"))
# run the simulation with the RISCV Matched board # run the simulation with the RISCV Matched board
simulator = Simulator(board=board, full_system=False) simulator = Simulator(board=board, full_system=False)

View File

@@ -63,7 +63,7 @@ from gem5.components.processors.simple_switchable_processor import (
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.isas import ISA from gem5.isas import ISA
from gem5.coherence_protocol import CoherenceProtocol from gem5.coherence_protocol import CoherenceProtocol
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
from gem5.simulate.exit_event import ExitEvent from gem5.simulate.exit_event import ExitEvent
@@ -203,10 +203,10 @@ board.set_kernel_disk_workload(
# The x86 linux kernel will be automatically downloaded to the # The x86 linux kernel will be automatically downloaded to the
# `~/.cache/gem5` directory if not already present. # `~/.cache/gem5` directory if not already present.
# gapbs benchamarks was tested with kernel version 4.19.83 # gapbs benchamarks was tested with kernel version 4.19.83
kernel=Resource("x86-linux-kernel-4.19.83"), kernel=obtain_resource("x86-linux-kernel-4.19.83"),
# The x86-gapbs image will be automatically downloaded to the # The x86-gapbs image will be automatically downloaded to the
# `~/.cache/gem5` directory if not already present. # `~/.cache/gem5` directory if not already present.
disk_image=Resource("x86-gapbs"), disk_image=obtain_resource("x86-gapbs"),
readfile_contents=command, readfile_contents=command,
) )

View File

@@ -60,7 +60,7 @@ from gem5.components.processors.simple_switchable_processor import (
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.isas import ISA from gem5.isas import ISA
from gem5.coherence_protocol import CoherenceProtocol from gem5.coherence_protocol import CoherenceProtocol
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
from gem5.simulate.simulator import ExitEvent from gem5.simulate.simulator import ExitEvent
@@ -204,10 +204,10 @@ board.set_kernel_disk_workload(
# The x86 linux kernel will be automatically downloaded to the # The x86 linux kernel will be automatically downloaded to the
# `~/.cache/gem5` directory if not already present. # `~/.cache/gem5` directory if not already present.
# npb benchamarks was tested with kernel version 4.19.83 # npb benchamarks was tested with kernel version 4.19.83
kernel=Resource("x86-linux-kernel-4.19.83"), kernel=obtain_resource("x86-linux-kernel-4.19.83"),
# The x86-npb image will be automatically downloaded to the # The x86-npb image will be automatically downloaded to the
# `~/.cache/gem5` directory if not already present. # `~/.cache/gem5` directory if not already present.
disk_image=Resource("x86-npb"), disk_image=obtain_resource("x86-npb"),
readfile_contents=command, readfile_contents=command,
) )

View File

@@ -59,7 +59,7 @@ from gem5.components.processors.simple_switchable_processor import (
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.isas import ISA from gem5.isas import ISA
from gem5.coherence_protocol import CoherenceProtocol from gem5.coherence_protocol import CoherenceProtocol
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
from gem5.simulate.exit_event import ExitEvent from gem5.simulate.exit_event import ExitEvent
@@ -185,10 +185,10 @@ board.set_kernel_disk_workload(
# The x86 linux kernel will be automatically downloaded to the # The x86 linux kernel will be automatically downloaded to the
# `~/.cache/gem5` directory if not already present. # `~/.cache/gem5` directory if not already present.
# PARSEC benchamarks were tested with kernel version 4.19.83 # PARSEC benchamarks were tested with kernel version 4.19.83
kernel=Resource("x86-linux-kernel-4.19.83"), kernel=obtain_resource("x86-linux-kernel-4.19.83"),
# The x86-parsec image will be automatically downloaded to the # The x86-parsec image will be automatically downloaded to the
# `~/.cache/gem5` directory if not already present. # `~/.cache/gem5` directory if not already present.
disk_image=Resource("x86-parsec"), disk_image=obtain_resource("x86-parsec"),
readfile_contents=command, readfile_contents=command,
) )

View File

@@ -65,7 +65,7 @@ from gem5.components.processors.simple_switchable_processor import (
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.isas import ISA from gem5.isas import ISA
from gem5.coherence_protocol import CoherenceProtocol from gem5.coherence_protocol import CoherenceProtocol
from gem5.resources.resource import Resource, CustomDiskImageResource from gem5.resources.resource import Resource, DiskImageResource
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
from gem5.simulate.exit_event import ExitEvent from gem5.simulate.exit_event import ExitEvent
@@ -261,9 +261,7 @@ board.set_kernel_disk_workload(
# 5.4.49 # 5.4.49
kernel=Resource("x86-linux-kernel-4.19.83"), kernel=Resource("x86-linux-kernel-4.19.83"),
# The location of the x86 SPEC CPU 2017 image # The location of the x86 SPEC CPU 2017 image
disk_image=CustomDiskImageResource( disk_image=DiskImageResource(args.image, root_partition=args.partition),
args.image, root_partition=args.partition
),
readfile_contents=command, readfile_contents=command,
) )

View File

@@ -63,7 +63,7 @@ from gem5.components.processors.simple_switchable_processor import (
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.isas import ISA from gem5.isas import ISA
from gem5.coherence_protocol import CoherenceProtocol from gem5.coherence_protocol import CoherenceProtocol
from gem5.resources.resource import Resource, CustomDiskImageResource from gem5.resources.resource import obtain_resource, DiskImageResource
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
from gem5.simulate.exit_event import ExitEvent from gem5.simulate.exit_event import ExitEvent
@@ -268,18 +268,16 @@ except FileExistsError:
command = f"{args.benchmark} {args.size} {output_dir}" command = f"{args.benchmark} {args.size} {output_dir}"
# For enabling CustomResource, we pass an additional parameter to mount the # For enabling DiskImageResource, we pass an additional parameter to mount the
# correct partition. # correct partition.
board.set_kernel_disk_workload( board.set_kernel_disk_workload(
# The x86 linux kernel will be automatically downloaded to the # The x86 linux kernel will be automatically downloaded to the
# `~/.cache/gem5` directory if not already present. # `~/.cache/gem5` directory if not already present.
# SPEC CPU2017 benchamarks were tested with kernel version 4.19.83 # SPEC CPU2017 benchamarks were tested with kernel version 4.19.83
kernel=Resource("x86-linux-kernel-4.19.83"), kernel=obtain_resource("x86-linux-kernel-4.19.83"),
# The location of the x86 SPEC CPU 2017 image # The location of the x86 SPEC CPU 2017 image
disk_image=CustomDiskImageResource( disk_image=DiskImageResource(args.image, root_partition=args.partition),
args.image, root_partition=args.partition
),
readfile_contents=command, readfile_contents=command,
) )

View File

@@ -42,7 +42,7 @@ from gem5.components.processors.simple_processor import SimpleProcessor
from gem5.components.processors.cpu_types import CPUTypes from gem5.components.processors.cpu_types import CPUTypes
from gem5.isas import ISA from gem5.isas import ISA
from gem5.utils.requires import requires from gem5.utils.requires import requires
from gem5.resources.resource import Resource, CustomResource from gem5.resources.resource import obtain_resource
import argparse import argparse
@@ -98,8 +98,8 @@ board = LupvBoard(
# Set the Full System workload. # Set the Full System workload.
board.set_kernel_disk_workload( board.set_kernel_disk_workload(
kernel=Resource("riscv-lupio-linux-kernel"), kernel=obtain_resource("riscv-lupio-linux-kernel"),
disk_image=Resource("riscv-lupio-busybox-img"), disk_image=obtain_resource("riscv-lupio-busybox-img"),
) )

View File

@@ -29,7 +29,7 @@ from m5.objects import *
from os import path from os import path
# For downloading the disk image # For downloading the disk image
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
import argparse import argparse
@@ -139,7 +139,7 @@ cpu_clock_rate = args.cpu_clock_rate
memory_size = args.memory_size memory_size = args.memory_size
# Try downloading the Resource # Try downloading the Resource
bbl_resource = Resource("riscv-boot-exit-nodisk") bbl_resource = obtain_resource("riscv-boot-exit-nodisk")
bbl_path = bbl_resource.get_local_path() bbl_path = bbl_resource.get_local_path()
system = System() system = System()

View File

@@ -52,7 +52,7 @@ class AbstractWorkload:
workload = CustomWorkload( workload = CustomWorkload(
function = "set_se_binary_workload", function = "set_se_binary_workload",
parameters = { parameters = {
"binary" : Resource("x86-print-this"), "binary" : obtain_resource("x86-print-this"),
"arguments" : ["hello", 6] "arguments" : ["hello", 6]
}, },
) )
@@ -64,7 +64,7 @@ class AbstractWorkload:
```py ```py
board.set_se_binary_workload( board.set_se_binary_workload(
binary = Resource("x86-print-this"), binary = obtain_resource("x86-print-this"),
arguments = ["hello", 6], arguments = ["hello", 6],
) )
``` ```
@@ -121,7 +121,7 @@ class CustomWorkload(AbstractWorkload):
workload = CustomWorkload( workload = CustomWorkload(
function = "set_se_binary_workload", function = "set_se_binary_workload",
parameters = { parameters = {
"binary" : Resource("x86-print-this"), "binary" : obtain_resource("x86-print-this"),
"arguments" : ["hello", 6] "arguments" : ["hello", 6]
}, },
) )
@@ -148,7 +148,9 @@ class Workload(AbstractWorkload):
# Optionally we can override a parameter in the workload. In this example # Optionally we can override a parameter in the workload. In this example
# we are going to run this workload with a difference kernel. # we are going to run this workload with a difference kernel.
workload.set_parameter("kernel", Resource("arm64-linux-kernel-4.14.134")) workload.set_parameter("kernel",
obtain_resource("arm64-linux-kernel-4.14.134")
)
# We then set this workload to the board. # We then set this workload to the board.
board.set_workload(workload) board.set_workload(workload)
@@ -193,8 +195,8 @@ class Workload(AbstractWorkload):
```python ```python
board.set_kernel_disk_workload( board.set_kernel_disk_workload(
kernel = Resource("x86-linux-kernel-5.4.49"), kernel = obtain_resource("x86-linux-kernel-5.4.49"),
disk-image = Resource("x86-ubuntu-18.04-img"), disk-image = obtain_resource("x86-ubuntu-18.04-img"),
readfile_contents = "m5_exit; echo 'hello'; m5_exit", readfile_contents = "m5_exit; echo 'hello'; m5_exit",
) )
``` ```

View File

@@ -48,8 +48,8 @@ def run_sim(name):
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
board = X86DemoBoard() board = X86DemoBoard()
board.set_kernel_disk_workload( board.set_kernel_disk_workload(
kernel=Resource("x86-linux-kernel-5.4.49"), kernel=obtain_resource("x86-linux-kernel-5.4.49"),
disk_image=Resource("x86-ubuntu-18.04-img"), disk_image=obtain_resource("x86-ubuntu-18.04-img"),
) )
simulator = Simulator(board=board) simulator = Simulator(board=board)
simulator.run(max_ticks=10000000) simulator.run(max_ticks=10000000)

View File

@@ -36,7 +36,7 @@ Characteristics
from gem5.isas import ISA from gem5.isas import ISA
from m5.objects import ArmDefaultRelease from m5.objects import ArmDefaultRelease
from gem5.utils.requires import requires from gem5.utils.requires import requires
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
from m5.objects import VExpress_GEM5_Foundation from m5.objects import VExpress_GEM5_Foundation
from gem5.coherence_protocol import CoherenceProtocol from gem5.coherence_protocol import CoherenceProtocol
@@ -199,15 +199,15 @@ board = ArmBoard(
# Set the Full System workload. # Set the Full System workload.
board.set_kernel_disk_workload( board.set_kernel_disk_workload(
kernel=Resource( kernel=obtain_resource(
"arm64-linux-kernel-5.4.49", "arm64-linux-kernel-5.4.49",
resource_directory=args.resource_directory, resource_directory=args.resource_directory,
), ),
bootloader=Resource( bootloader=obtain_resource(
"arm64-bootloader-foundation", "arm64-bootloader-foundation",
resource_directory=args.resource_directory, resource_directory=args.resource_directory,
), ),
disk_image=Resource( disk_image=obtain_resource(
"arm64-ubuntu-20.04-img", "arm64-ubuntu-20.04-img",
resource_directory=args.resource_directory, resource_directory=args.resource_directory,
), ),

View File

@@ -55,7 +55,7 @@ from gem5.components.processors.cpu_types import (
from gem5.components.processors.simple_switchable_processor import ( from gem5.components.processors.simple_switchable_processor import (
SimpleSwitchableProcessor, SimpleSwitchableProcessor,
) )
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.runtime import get_runtime_coherence_protocol from gem5.runtime import get_runtime_coherence_protocol
from gem5.utils.requires import requires from gem5.utils.requires import requires
@@ -179,10 +179,10 @@ kernel_args = motherboard.get_default_kernel_args() + [args.kernel_args]
# Set the Full System workload. # Set the Full System workload.
motherboard.set_kernel_disk_workload( motherboard.set_kernel_disk_workload(
kernel=Resource( kernel=obtain_resource(
"x86-linux-kernel-5.4.49", resource_directory=args.resource_directory "x86-linux-kernel-5.4.49", resource_directory=args.resource_directory
), ),
disk_image=Resource( disk_image=obtain_resource(
"x86-ubuntu-18.04-img", resource_directory=args.resource_directory "x86-ubuntu-18.04-img", resource_directory=args.resource_directory
), ),
readfile_contents=dedent( readfile_contents=dedent(

View File

@@ -45,7 +45,7 @@ from gem5.components.processors.cpu_types import (
from gem5.components.processors.simple_switchable_processor import ( from gem5.components.processors.simple_switchable_processor import (
SimpleSwitchableProcessor, SimpleSwitchableProcessor,
) )
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.runtime import get_runtime_coherence_protocol from gem5.runtime import get_runtime_coherence_protocol
from gem5.simulate.simulator import Simulator from gem5.simulate.simulator import Simulator
from gem5.simulate.exit_event import ExitEvent from gem5.simulate.exit_event import ExitEvent
@@ -165,10 +165,10 @@ kernal_args = motherboard.get_default_kernel_args() + [args.kernel_args]
# Set the Full System workload. # Set the Full System workload.
motherboard.set_kernel_disk_workload( motherboard.set_kernel_disk_workload(
kernel=Resource( kernel=obtain_resource(
"x86-linux-kernel-5.4.49", resource_directory=args.resource_directory "x86-linux-kernel-5.4.49", resource_directory=args.resource_directory
), ),
disk_image=Resource( disk_image=obtain_resource(
"x86-ubuntu-18.04-img", resource_directory=args.resource_directory "x86-ubuntu-18.04-img", resource_directory=args.resource_directory
), ),
# The first exit signals to switch processors. # The first exit signals to switch processors.

View File

@@ -37,7 +37,7 @@ Notes
import m5.stats import m5.stats
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.components.boards.x86_board import X86Board from gem5.components.boards.x86_board import X86Board
from gem5.components.memory import SingleChannelDDR3_1600 from gem5.components.memory import SingleChannelDDR3_1600
from gem5.components.processors.simple_switchable_processor import ( from gem5.components.processors.simple_switchable_processor import (
@@ -205,10 +205,10 @@ command = (
) )
board.set_kernel_disk_workload( board.set_kernel_disk_workload(
kernel=Resource( kernel=obtain_resource(
"x86-linux-kernel-5.4.49", resource_directory=args.resource_directory "x86-linux-kernel-5.4.49", resource_directory=args.resource_directory
), ),
disk_image=Resource( disk_image=obtain_resource(
"x86-parsec", resource_directory=args.resource_directory "x86-parsec", resource_directory=args.resource_directory
), ),
readfile_contents=command, readfile_contents=command,

View File

@@ -30,7 +30,7 @@ The system has no cache heirarchy and is as "bare-bones" as you can get in
gem5 while still being functinal. gem5 while still being functinal.
""" """
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.components.processors.cpu_types import ( from gem5.components.processors.cpu_types import (
get_cpu_types_str_set, get_cpu_types_str_set,
get_cpu_type_from_str, get_cpu_type_from_str,
@@ -135,7 +135,9 @@ motherboard = SimpleBoard(
) )
# Set the workload # Set the workload
binary = Resource(args.resource, resource_directory=args.resource_directory) binary = obtain_resource(
args.resource, resource_directory=args.resource_directory
)
motherboard.set_se_binary_workload(binary, arguments=args.arguments) motherboard.set_se_binary_workload(binary, arguments=args.arguments)
# Run the simulation # Run the simulation

View File

@@ -45,7 +45,7 @@ By default a generator is passed to define the evit_event. A list of functions
can also be passed. This is enabled by passing the `--list-format` flag. can also be passed. This is enabled by passing the `--list-format` flag.
""" """
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.components.memory import SingleChannelDDR3_1600 from gem5.components.memory import SingleChannelDDR3_1600
from gem5.components.boards.simple_board import SimpleBoard from gem5.components.boards.simple_board import SimpleBoard
from gem5.components.cachehierarchies.classic.no_cache import NoCache from gem5.components.cachehierarchies.classic.no_cache import NoCache
@@ -101,7 +101,7 @@ motherboard = SimpleBoard(
# Set the workload # Set the workload
# Note: Here we're using the "x86-m5-exit-repeat" resource. This calls an # Note: Here we're using the "x86-m5-exit-repeat" resource. This calls an
# `m5_exit(0)` command in an infinite while-loop. # `m5_exit(0)` command in an infinite while-loop.
binary = Resource( binary = obtain_resource(
"x86-m5-exit-repeat", resource_directory=args.resource_directory "x86-m5-exit-repeat", resource_directory=args.resource_directory
) )
motherboard.set_se_binary_workload(binary) motherboard.set_se_binary_workload(binary)

View File

@@ -28,7 +28,7 @@
""" """
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.isas import ISA from gem5.isas import ISA
from gem5.components.memory import SingleChannelDDR3_1600 from gem5.components.memory import SingleChannelDDR3_1600
from gem5.components.boards.simple_board import SimpleBoard from gem5.components.boards.simple_board import SimpleBoard
@@ -76,7 +76,7 @@ motherboard = SimpleBoard(
) )
# Set the workload # Set the workload
binary = Resource( binary = obtain_resource(
"x86-hello64-static", resource_directory=args.resource_directory "x86-hello64-static", resource_directory=args.resource_directory
) )
motherboard.set_se_binary_workload(binary) motherboard.set_se_binary_workload(binary)

View File

@@ -33,7 +33,7 @@ run before, at, or after the running of `simulator.run`.
time. time.
""" """
from gem5.resources.resource import Resource from gem5.resources.resource import obtain_resource
from gem5.isas import ISA from gem5.isas import ISA
from gem5.components.memory import SingleChannelDDR3_1600 from gem5.components.memory import SingleChannelDDR3_1600
from gem5.components.boards.simple_board import SimpleBoard from gem5.components.boards.simple_board import SimpleBoard
@@ -97,7 +97,7 @@ motherboard = SimpleBoard(
) )
# Set the workload # Set the workload
binary = Resource( binary = obtain_resource(
"x86-hello64-static", resource_directory=args.resource_directory "x86-hello64-static", resource_directory=args.resource_directory
) )
motherboard.set_se_binary_workload(binary) motherboard.set_se_binary_workload(binary)

View File

@@ -72,14 +72,14 @@ class CustomWorkloadTestSuite(unittest.TestCase):
) )
def test_get_function_str(self) -> None: def test_get_function_str(self) -> None:
# Tests `CustomResource.get_function_str` # Tests `CustomWorkload.get_function_str`
self.assertEqual( self.assertEqual(
"set_se_binary_workload", self.custom_workload.get_function_str() "set_se_binary_workload", self.custom_workload.get_function_str()
) )
def test_get_parameters(self) -> None: def test_get_parameters(self) -> None:
# Tests `CustomResource.get_parameter` # Tests `CustomWorkload.get_parameter`
parameters = self.custom_workload.get_parameters() parameters = self.custom_workload.get_parameters()
self.assertTrue(isinstance(parameters, Dict)) self.assertTrue(isinstance(parameters, Dict))
@@ -95,7 +95,7 @@ class CustomWorkloadTestSuite(unittest.TestCase):
self.assertEquals(6, parameters["arguments"][1]) self.assertEquals(6, parameters["arguments"][1])
def test_add_parameters(self) -> None: def test_add_parameters(self) -> None:
# Tests `CustomResource.set_parameter` for the case where we add a new # Tests `CustomWorkload.set_parameter` for the case where we add a new
# parameter value. # parameter value.
self.custom_workload.set_parameter("test_param", 10) self.custom_workload.set_parameter("test_param", 10)
@@ -109,7 +109,7 @@ class CustomWorkloadTestSuite(unittest.TestCase):
del self.custom_workload.get_parameters()["test_param"] del self.custom_workload.get_parameters()["test_param"]
def test_override_parameter(self) -> None: def test_override_parameter(self) -> None:
# Tests `CustomResource.set_parameter` for the case where we override # Tests `CustomWorkload.set_parameter` for the case where we override
# a parameter's value. # a parameter's value.
old_value = self.custom_workload.get_parameters()["binary"] old_value = self.custom_workload.get_parameters()["binary"]