Gabe Black
0998e99131
python: Add a --silent-redirect option to gem5.
...
This complements the --redirect-stdout and --redirect-stderr options and
supresses the message about where those streams are being redirected
which print to the original stdout.
Usually this is very helpful since it lets you know where to look for
simulator output. If you're running gem5 in an automated environment
like our testing framework however, the file name is a random temp file
which will be deleted as soon as the test is finished running.
The --silent-redirect option can be used in these particular scenarios
to, for example, avoid lots and lots of useless lines in the test output
naming files that no longer exist.
Change-Id: If56b61567b3d98abd9cc9d9e9d661ea561be46f8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50588
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 19:19:59 +00:00
Bobby R. Bruce
b5ffa5418f
python: Remove 'is_ruby' function
...
This function is not used and should not be used. It does not really
make any sense.
Change-Id: I79ee7283ddbc282b9b803df33ad266b7a88a9c67
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50168
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-20 18:44:40 +00:00
Bobby R. Bruce
958029328f
python: Add has_dma_ports check to mesi_two_level
...
Previously the MesiTwoLevelCacheHierarchy assumed the board had dma
ports. This change adds a simple check and skips adding the
DMASequencers if the board does not have any.
Change-Id: I64ee68267d16c9d9a6096ba7fd660f04515b2b3c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49929
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-20 18:44:40 +00:00
Bobby R. Bruce
752394b243
python: Add connect_interrupt() to mesi_two_level for non-X86
...
The MESITwoLevelCacheHierarchy did not call `connect_interrupt()` on
CPUs if not ISA.X86. This patch fixes this.
Change-Id: I46ae19f588e2eadce60f145067e8a7cef0d44afd
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49928
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-20 18:44:40 +00:00
Bobby R. Bruce
7b84d5f946
arch-riscv,tests: Add RISCV boot tests
...
This adds RISCV boot tests. Due to TODO items highlighted here:
https://gem5.atlassian.net/browse/GEM5-1080 , these tests only run to a
tick as the RISCV disk image does not contain the necessary features to
run a proper "boot-exit" test as we do with the X86 boot tests.
Change-Id: I0744ff46f78e6ec83b7eabf53146397caad9b97a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49869
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 18:44:40 +00:00
Bobby R. Bruce
10af78d685
arch-x86,tests: Rename boot_exit_disk_run.py
...
Rename to 'x86_boot_exit_run.py'. It's X86 specific and the name should
make this obvious.
Change-Id: Iab124b166f16a3dfbe4f3a5a455166744c3b1a2d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49868
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-20 18:44:40 +00:00
Bobby R. Bruce
77b1338985
arch-riscv,configs,python: Update riscv_fs.py/riscv_board.py
...
This patch incoporates improvements to the riscv_fs.py and
riscv_board.py:
* Adds 'Resource' objects to download needed resources.
* Adds 'requires' function calls where necessary.
Change-Id: I2ae4f34221d781ed6d71c9f69d56833845f537c4
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49867
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-20 18:44:40 +00:00
Bobby R. Bruce
e3d8af0f1a
python: Rename 'components_library' to 'gem5.components'
...
The 'components_library' name was always a placeholder. A more accurate
name would be the 'gem5 library'. This is analogous to standard
libraries shipped as part of programming languages. Over time this will
begin to incorporate more commonly used code at the Python configuration
script level. Most of the former 'components_library' is now in
'gem5.components'.
Change-Id: I5927db7004c43b29c39e7767da3f779627081618
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49691
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 18:44:40 +00:00
Bobby R. Bruce
f775c4c4a7
python: Move the components lib to be compiled in the binary
...
There has been some debate on how best to distribute the components
library. This change builds the components library into the gem5 binary.
The components library will now function similar to the `m5` library.
There is no need for awkward imports or obtaining the library from some
third-party source.
Additional incorporated in this patch:
* Added `__init__.py` to the Python modules.
* Fixed a typo in the `abstract_ruby_cache_hierarchy.py` filename.
* Ensured that imports within the library are relative.
Issue-on: https://gem5.atlassian.net/browse/GEM5-1023
Change-Id: I3988c8710cda8dcf7b21109a2cf5c3f1608cc71a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49690
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-by: Austin Harris <mail@austin-harris.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 18:44:40 +00:00
Giacomo Travaglini
136809cc45
arch-arm: Use EL0 permission logic when checking unpriv reference
...
An unprivileged memory reference (LDTR and STTR) executed at EL1
should be regarded as an EL0 memory access
Change-Id: Iae5e6e582f9c5a57340f27a84db463bcb8996922
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50388
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 15:40:05 +00:00
Giacomo Travaglini
fde9e46951
arch-arm: Refactor AArch64 MMU permission check
...
This refactor of the MMU::checkPermissions64 method is moving
the TLB entry access permission bits (AP,XN...) checking into
new separate stage1 and stage2 helpers
Change-Id: If7d42538f5ea1ec21e918cccaf469fcb6a36d82b
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50387
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 15:40:05 +00:00
Giacomo Travaglini
6b2faf3723
arch-arm: Remove unused TLBType
...
The cached state is global now (per-MMU)
Change-Id: I70bc847813086f678b4ff32722b7f6e3ceaae6f5
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50527
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 09:03:19 +00:00
Giacomo Travaglini
377155c10b
arch-arm: Syncronize GIC CPU interface when changing EL
...
From the GIC architecture specification (ihi0069) [1]
"The assertion and de-assertion of IRQs and FIQs are affected by the
current Exception level and Security state of the PE. As part of the
Context Synchronization that occurs as the result of taking or returning
from an exception, the CPU interface ensures that IRQ and FIQ are both
appropriately asserted or deasserted for the Exception level and
Security state that the PE is entering."
Kudos to Quentin Forcioli for finding the bug
[1]: https://developer.arm.com/documentation/ihi0069/latest
Change-Id: I10444a3aad5c06aabc13e1cbd70a32192531a31d
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50508
Reviewed-by: Quentin Forcioli <quentin.forcioli@telecom-paris.fr >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 09:03:19 +00:00
Giacomo Travaglini
4000480a2f
arch-arm: Define ArmFault::invoke32 to match invoke64
...
Just providing some symmetry to the ArmFault::invoke method
Change-Id: I244e69eee684b9935bea49cf28c6ed99a01192bf
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50507
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 09:03:19 +00:00
Quentin Forcioli
36d65d2976
arch-arm: Fixed EL2S system register trapping.
...
Prevent a disabled El2S from trapping a system register access from EL1S
This commit is part of series of commit to enable booting OPTEE on gem5.
Change-Id: I0258e15b21dd6a69a3e29e88b753825fad648cfd
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49987
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 08:01:12 +00:00
Quentin Forcioli
32fd8cfa80
mem: Fix for CFI memory
...
Subtile modification of the CFI memory to bring back u-boot compatibility :
- Ignoring AMD_RESET_CMD (0xf0)
- Increasing CFIQueryTable size to have 4 Erase Block Region Information (3 are
just empty)
Change-Id: I49e7a78a89a46b1298f04132559debafdeddb8ef
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49570
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-20 08:00:53 +00:00
Andreas Sandberg
bec41479af
cpu-kvm: Reinitialize threads on drainResume
...
Event queue service threads may have been re-created while the
simulator was drained. We therefore need to initialize the new thread
by setting correct signal masks and re-attaching performance counters.
Change-Id: Ic0dab80543928327021cade037770c917e73a47f
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50409
Reviewed-by: Austin Harris <mail@austin-harris.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-19 17:32:59 +00:00
Andreas Sandberg
8c685469f1
sim: Fix fork for multithreaded simulations
...
It is currently not possible to call m5.fork when the simulator is
running in with multiple parallel event queues. The POSIX standard
have very weak guarantees when forking a process with multiple
threads. In order to use fork correctly, we need to ensure that all
helper threads servicing event queues have terminated before the fork
system call is invoked.
There are two ways this could be implemented: 1) Always terminate
helper threads when taking a global simulator exit event, or 2)
terminate helper threads just before fork is called from Python.
This change implements the second strategy since the KVM-based CPUs
currently assume that TIDs don't change unless there is a fork event.
Change-Id: I22feaecd49f7f81689b43185d63a8f14428bed63
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50408
Reviewed-by: Austin Harris <mail@austin-harris.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-19 17:32:59 +00:00
Gabe Black
17afe4e7ab
scons: Fix checking the --install-hooks option in the "git" tool.
...
The option should be checked with 'install_hooks' and not
'install-hooks', even though the option is '--install-hooks' to the
user.
This bug was due to an incorrect review suggestion from me on this
original change:
https://gem5-review.googlesource.com/c/public/gem5/+/50410
JIRA: https://gem5.atlassian.net/browse/GEM5-1091
Change-Id: Ifb4526307bea015de1fe73d3d685477be711b7cb
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50628
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Eric Ye <ericye@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-19 06:02:03 +00:00
Gabe Black
53238f891d
arch: Ensure using namespace * doesn't leak from generated ISA files.
...
Only use "using namespace" with the *ISAInst namespace, not the top
level namespace. Also only using namespace *ISA, and not the gem5
namespace itself. The *ISAInst namespace is already in the gem5
namespace, and so will resolve names in it automatically.
Change-Id: Iebf3c9519c65baba073d73744665f8c98880804c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49887
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-18 19:09:47 +00:00
vsoria
f1ad44b123
cpu-o3: Add Data Abort handler for Atomic Instructions
...
Bug fixing patch for Data Abort exception when executing an
atomic instruction. You can see the details in this JIRA ticket:
https://gem5.atlassian.net/browse/GEM5-784
Change-Id: I79e7113efd8157fba61b6d4a0b0c09bc6f85ec29
Signed-off-by: Víctor Soria <victor.soria@bsc.es >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/35295
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-18 00:13:03 +00:00
Eric Ye
e61f62b478
scons: Allow clean non-interactive builds
...
On a clean build, the git tool will wait for input() before installing
git hooks. Allow bypassing this via a command-line flag, making it
possible to perform a clean build non-interactively.
Bug: 199780674
Test: build_gem5 --install-hooks
Change-Id: I48be2c1a7c2335a2f4f6359adf582ca8b0ae5939
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50410
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-17 17:23:02 +00:00
Daecheol You
fac84c1fe5
cpu-minor: Fix for minor CPU scoreboard
...
When the scoreboard checks RAW dependency, it determines whether
the source registers can be forwarded or not to evaluate
relative latency. To do that, fuIndices[index] should be used
as an index for accessing cant_forward_from_fu_indices, not register
index itself. Moreover, since fuIndices[index] is cleared as -1
by clearInstDests(), the first compare should be fuIndices[index] != -1
instead of 1.
Change-Id: Ic62546855a8ad5365064d2ea2e2a0fbc1ccc6f41
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50287
Reviewed-by: ZHENGRONG WANG <seanyukigeek@gmail.com >
Maintainer: ZHENGRONG WANG <seanyukigeek@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-17 10:27:11 +00:00
Gabe Black
649ab2dc98
base: Make the AddrRange::exclude method const.
...
This should not modify the base AddrRange, and can be marked const.
Change-Id: I8554707ab8dd895d24891acff18013308ab779a6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50337
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Daniel Carvalho <odanrc@yahoo.com.br >
2021-09-16 20:42:41 +00:00
Gabe Black
11d4ebcc5d
python: Pull most of the logic in marshal.cc into python.
...
Put most of the logic in python, and turn the c++ parts into a very
generic wrapper which could meaningfully run any python code under the
interpreter which will be embedded in gem5.
Change-Id: I3f6e50839490eaf0db9a6bd242efbcb8de1b6e24
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49391
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
2021-09-16 20:39:30 +00:00
Gabe Black
b0f960f765
scons: Get rid of a loop which touched all the param ptype attributes.
...
As far as I can tell, this code is left over from when gem5 used SWIG,
and is not necessary any more.
Change-Id: Id36887773d2fc1373ffe689ee1b50b4989bf5a38
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49390
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-16 20:39:30 +00:00
Gabe Black
977b9d7521
scons: Use source filters to exclude python source if --without-python.
...
We were simply not declaring the source files for PySource files if
built --without-python. Instead, we should declare them, but then
explicitly exclude them if that option is set.
Since we're already doing that, we can simply remove the check from the
PySource constructor.
Change-Id: I437ebeee1082fa00065bedd61f91d5721b915ae5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49389
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-16 20:39:30 +00:00
Gabe Black
6bbaceca91
scons: Simplify the PySource class slightly.
...
Demote the cpp attribute to a local variable, and get rid of the unused
"package" attribute.
Change-Id: I190792274ea9bdd9853aa3b6e07ce4151b378251
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49388
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-16 20:39:30 +00:00
Gabe Black
0b06c55520
scons: Eliminate the tnode dict in PySource.
...
Rather than pass these values to the embedPyFile function indirectly
through python, we should pass them through the environment so SCons can
know about them, and also to simplify the PySource class.
Change-Id: I466613c194bfd965a6f5f34e1e92131834fb8b66
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49387
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-16 20:39:30 +00:00
Richard Cooper
40c3839413
scons: Re-enable TRACING_ON flag
...
The TRACING_ON flag was removed in a previous commit [1], but is still
used by the _check_tracing() function in main.py. This breaks gem5
simulations when debug flags are enabled.
This patch re-enables the TRACING_ON flag.
[1] https://gem5-review.googlesource.com/c/public/gem5/+/48379
Change-Id: I90ed8a46938fa2748b96c1b378329a4ba1ef047e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50427
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-16 10:42:47 +00:00
Andreas Sandberg
ea29c98e68
python: Remove unnecessary Python 2.x workaround
...
We needed to explicitly cast the return value from getCode() to int to
avoid a Python 2.x issue where sys.exit() got confused by an
unexpected long argument. This isn't an issue in Python 3 since long
has been removed as a separate type.
Change-Id: I7770d0f180e826ac7e6c92c13bc6a61447e3f851
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50407
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-16 08:52:28 +00:00
Gabe Black
ec931a6413
scons: Declare PySource Source files in the PySource __init__.
...
There's no reason to wait until the end to loop over all PySource files
and declare their Source-s then.
Change-Id: I94de1b2123bb94324a647bbc005a923012080cab
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49386
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
2021-09-16 00:55:11 +00:00
Gabe Black
6a36839da5
scons: Create a namedtuple for debug flag info.
...
This avoids having to rely on certain bits of information being in
certain positions, and also makes it more obvious which piece of
information you're referring to when manipulating the objects.
Change-Id: I93799d00261002996a42a62a7de34c4c275847c5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49385
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-16 00:55:11 +00:00
Gabe Black
7a133da281
scons: Simplify the makeDebugFlagCC python function.
...
Change-Id: I3fdbdc5a4f2b45153550c65e0d447a3d6cec34f1
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49384
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-16 00:55:11 +00:00
Gabe Black
7f9d9d336f
base: Fix some style problems in addr_range.hh.
...
Change-Id: Ib55b86350c4bc3f1f44af996db25a1e44826d077
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50346
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Daniel Carvalho <odanrc@yahoo.com.br >
2021-09-15 20:19:42 +00:00
Gabe Black
93339d7057
scons: Accumulate debug flags in a construction variable.
...
Do this instead of putting them in a dictionary side channel.
Change-Id: I52319f2d42c87ef8e7861e7dc700ba45b8e1629e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49383
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-15 20:17:23 +00:00
Gabe Black
611207eff0
scons: Clean up the definition of m5.defines a little bit.
...
Use the new helper functions to go to/from a Value(), and tidy things up
slightly.
Change-Id: I9a31004b5a610bb8e94848d1fb88606dda6fc3c2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48381
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-15 20:16:58 +00:00
Austin Harris
76cbc20a54
tests: Add a test for KVM boot then switching cpus
...
A simple test for the switchable processor to boot linux, switch cpus,
then simulate to completion. The boot script runs m5 exit twice, first
to signal the test to switch cpus and then to actually exit.
Jira Issue: https://gem5.atlassian.net/browse/GEM5-1086
Change-Id: I9a7a6539b94b7b3f6d789ddf879d321613aef87a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50230
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-15 19:31:01 +00:00
Gabe Black
a2c42a12b1
scons,python: Stop importing some values in m5.defines.
...
The compileDate and gem5Version fields are used in only one place,
gem5's python main function. These fields are the remaining difference
between the "fake" defines.py provided by the SimObject importer, and
the real one composed later. It makes sense to exclude them in the
"fake" version since those values come from c++, but it would feel like
an arbitrary and unexpected difference to people trying to use it.
Change-Id: Ie344765bf7c8063197da24f5b55f762379deff94
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48380
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
2021-09-15 04:18:26 +00:00
Gabe Black
ad1f240a12
scons: Eliminate flag_* entries from m5.defines.
...
These are not used anywhere, and are very old.
Change-Id: If37a8fe2e0c3374fba1930353e502746f333d86d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48379
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-15 04:18:26 +00:00
Gabe Black
8e28a06f11
scons: Pull the "Blob" builder out of src/SConscript.
...
Change-Id: Ib52c7b51d52aeccdcd2ca05cb0a71267268d969d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48378
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-15 04:18:26 +00:00
Gabe Black
88a932522d
scons: Move the bytesToCppArray helper to gem5_scons.util.
...
Change-Id: Ib8789dd33ebbfb8e10446de5d1079654a2200d2d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48377
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-15 04:18:26 +00:00
Gabe Black
b61f539f05
scons: Move the source related helper classes out of src/SConscript.
...
By having them in gem5_scons.sources, they can be used by mechanisms
outside of src/SConscript, like separated out builders.
Change-Id: Ic3769723c8413e7db48aef536572ad3f2f948658
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48376
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-14 23:26:49 +00:00
Gabe Black
38d3c5f4be
scons: Build the source filter factories dict in SourceFilter.
...
This is a little cleaner since it avoids an additional global variable.
Change-Id: I19d9a0afd12fdfeeda0b524bd71943d155ed5d7d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48375
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-14 23:26:31 +00:00
Gabe Black
8dcf606015
scons: Turn gem5_scons.builders from a module into a package.
...
This will make it easier to organize when there are more builders in the
future.
Change-Id: I3db2f2c87b39ed0d427a2e505c7c9152e47ee58b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48374
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-14 23:25:48 +00:00
Gabe Black
4b86614d31
scons: Tidy up the definition of SourceFile slightly.
...
Use {} notation for creating a set, and rely on the fact that applying
File() to something that already is does nothing.
Change-Id: I2ec99e4a4859df9a0a88bcc38e93233841124de6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48373
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-14 22:12:25 +00:00
Gabe Black
d73e4b789e
scons: Define the rules for building debug flag hdrs in place.
...
Define the rules for building debug flag header files in place, instead
of looping over them all after they've been accumulated.
Change-Id: I02113a21529958c3f971b5462ea340d70d1b18d7
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48372
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-14 22:12:25 +00:00
Gabe Black
2a4f01b87f
scons: Add a pair of functions for working with Value nodes.
...
These nodes are really for working with text, and they do strange and
broken things otherwise. This change adds a pair of convenience
functions which uses pickle to serialize an object for the Value to
hold, and to unpack the Value later.
Change-Id: Id48822ce3de283b003d4cc7ef6b563a70e321ca6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48371
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
2021-09-14 22:12:25 +00:00
Gabe Black
98b50f3f2b
scons: Generalize the Executable class to cover libraries too.
...
This way the shared and static gem5 libraries can be treated like other
top level build targets.
Change-Id: I04dd82f9be86df0a5cabd2e4934077c33235911c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48369
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu >
2021-09-14 22:12:25 +00:00
Austin Harris
0703c968ca
scons: Setup the m4 tool for libelf
...
This resolves an error that SConsEnvironment has no attribute 'm4' on
some systems.
Change-Id: I9dfce277308d1939c3bd392f83dc49937884660e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/50259
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-14 15:20:58 +00:00