Commit Graph

20214 Commits

Author SHA1 Message Date
a098b7099f Increase HBM2 memory size to 2 GiB 2024-01-06 17:41:10 +01:00
f524a5b1a4 Add support for shared pim units 2023-12-16 22:36:25 +01:00
e4fadc0435 Integrate additional pim-vm library in DRAMSys linking 2023-11-28 20:22:55 +01:00
dd965da616 Enable m5ops and change cache line size to 32 2023-11-26 07:16:03 +01:00
fc80e7b8ec First PIM modifications 2023-11-09 15:46:02 +01:00
c13b79977c configs,ext,stdlib: Update DRAMSys integration
Recent breaking changes in the DRAMSys API require user code to be
updated. These updates have been applied to the gem5 integration.

Furthermore, as DRAMSys started to use CMake dependency management,
it is no longer sensible to maintain two separate build systems for
DRAMSys. The use of the DRAMSys integration in gem5 will therefore
from now on require that CMake is installed on the target machine.

Additionally, support for snapshots have been implemented into DRAMSys
and coupled with gem5's checkpointing API.

Change-Id: I1ab25deba2a8478ff97c477694813ac123d60379
2023-11-09 15:45:51 +01:00
Bobby R. Bruce
e9da8d67bd misc: Merge develop .github dir to stable (#495) 2023-10-20 11:43:29 -07:00
Bobby R. Bruce
1bb9bb3308 misc: Copy .github directory from develop to stable (#485) 2023-10-18 22:19:24 -07:00
Bobby R. Bruce
3157cde324 misc: Copy .github directory from develop to stable (#458)
This is done periodically as the Github Action's infrastructure reads
files from the repos main branch (`stable`) where as changes are made to
`develop`'s ".github" which should be made live ASAP.

This does not affect the gem5 build or any configuration scripts, only
how testing is performed via GitHub and other info used by Github (e.g.,
".github/ISSUE_TEMPLATE" which outlines the templates for creating
issues via our GitHub issues page.
2023-10-14 17:16:09 -07:00
Bobby R. Bruce
48a40cf2f5 misc: Copy .github directory from develop to stable (#243) 2023-08-30 22:53:03 -07:00
Bobby R. Bruce
6966518dcc misc: Copy .github directory from develop to stable
Change-Id: I7755f90c1b5d81ff1cf66920f229be921d47e844
2023-08-30 17:16:12 -07:00
Bobby R. Bruce
f29bfc0640 misc: Sync GitHub Workflow files from develop to stable (#179) 2023-08-14 11:18:14 -07:00
Bobby R. Bruce
90459612f5 misc: Sync GitHub Workflow files from develop to stable
Change-Id: Ibbe8db6191cd248a5ec04c18ed72e04dbf8d791c
2023-08-11 16:19:21 -07:00
Bobby R. Bruce
6835f06657 misc: Minor release v23.0.1.0 (#174) 2023-08-11 02:08:41 -07:00
Bobby R. Bruce
c8239cca6d misc: Merge develop .github into stable (#168) 2023-08-09 13:48:14 -07:00
Bobby R. Bruce
df60826fa3 misc: Merge develop .github into stable
Change-Id: I07e5e5f3bc95b78459b77c0f1170923f6c9daf18
2023-08-08 13:01:30 -07:00
Bobby R. Bruce
1b67297efc misc: Merge cherry-picked commits from develop (#103)
This merges cherry-picked changes from the develop branch which are
suitable to be part of the v23.0.1.0 minor release. In general this
includes bug fixes, documentation updates, and changes that extend gem5
but do not alter and functionality a gem5 user may be depending on.
2023-07-28 09:49:34 -07:00
Bobby R. Bruce
f7bbb3997d Merge branch 'minor-release-staging-v23-0-1-0' into minor-release-v23-0-1-0 2023-07-28 09:49:19 -07:00
Hoa Nguyen
b7004492fa learning-gem5: Add a missing override
Change-Id: I9acebe6f3096b499fa2c69b6d757373431f63c71
Signed-off-by: Hoa Nguyen <hn@hnpl.org>
2023-07-28 09:47:53 -07:00
Bobby R. Bruce
d7b17d5870 misc: Sync CONTRIBUTING.md with website
This change syncs the repo's contributing documentation with that of the
website's contributing documentation:
https://www.gem5.org/contributing

From now on we'll attempt to keep the repo's CONTRIBUTING.md
documentation in sync with that on the website.

Change-Id: I2c91e6dd5cd7a9b642377878b007d7da3f0ee2ad
2023-07-28 09:47:44 -07:00
Bobby R. Bruce
4e8df826f6 misc: Update RELEASE-NOTES.md for v23.0.1.0 (#128)
Change-Id: I5ae5081e0ac5524271e6c8300917d7d1e16d71ee
2023-07-28 00:23:08 -07:00
Bobby R. Bruce
aac28994ae misc: Merge branch BobbyRBruce/gem5 into minor-release
Change-Id: Id2154dd36df1916b9ed3ffe0c104c80c88190506
2023-07-28 00:18:20 -07:00
Bobby R. Bruce
340a5a9a57 misc: Add Pyunit Test info to TESTING.md
Change-Id: Ibff77963653600ac7c9d706edca882d95e5c47df
2023-07-28 00:15:47 -07:00
Bobby R. Bruce
22628b861c misc: Update GitHub Actions text in TESTING.md
This change simplifies the explanation of how GitHub actions works.

Change-Id: Ia1540008463b8584f172c40ca7b4826cbbf95eb7
2023-07-28 00:15:41 -07:00
Bobby R. Bruce
2b0a1df096 misc: Add 'testing resources' sec to TESTING.md
Change-Id: Ie8a9c9200461d4f9e272dea75de1755b1b18aceb
2023-07-28 00:15:35 -07:00
Bobby R. Bruce
2dfdcac40f misc: Remove test binary sections from TESTING.md
These sections are very out-of-date and confusing.

Change-Id: I61aae0686f38671e46412e27ea516a5e06f4e6f2
2023-07-28 00:15:29 -07:00
Bobby R. Bruce
bfdb20fa10 misc: Update TESTING.md for subset selection
This change:

1. Removes the 'Specifying a subset of tests to run' section. This
   section is no longer useful since tests are no longer divided up so
   neatly by tags as they once were.
2. Adds a section outlining the 'quick', 'long' and 'very-long' tests
   and how they may be selected and run.

Change-Id: I61370dd80cc925a15d1a22755faa7d62e810862f
2023-07-28 00:15:22 -07:00
Bobby R. Bruce
aeefea862c Merge branch 'minor-release-staging-v23-0-1-0' into minor-release-v23-0-1-0 2023-07-27 17:51:05 -07:00
Bobby R. Bruce
501d72f121 Merge branch 'minor-release-staging-v23-0-1-0' into v23-0-1-0-release-notes 2023-07-27 17:46:28 -07:00
Bobby R. Bruce
010baba2a7 misc: Update version to v23.0.1.0 (#125)
Change-Id: Icd673083f23a465205bea12407bf265e2ba6fb4a
2023-07-27 17:42:18 -07:00
Bobby R. Bruce
e2725bb2e4 Merge branch 'minor-release-staging-v23-0-1-0' into v23-0-1-0-housekeeping 2023-07-27 17:42:09 -07:00
Bobby R. Bruce
b588ff0f5d Merge branch 'minor-release-staging-v23-0-1-0' into v23-0-1-0-release-notes 2023-07-27 17:41:51 -07:00
Bobby R. Bruce
07fb53d3d7 Merge branch 'minor-release-staging-v23-0-1-0' into minor-release-v23-0-1-0 2023-07-27 17:39:58 -07:00
Bobby R. Bruce
1be9501ecd misc: Merge stable into minor-release-staging-v23-0-1-0 (#139) 2023-07-27 17:39:39 -07:00
Bobby R. Bruce
48b4788bbe misc: Merge develop .github into stable (#122) 2023-07-27 17:38:14 -07:00
Bobby R. Bruce
0f358732cb misc: Add ".github" changes to minor release
This is a simple copy of the current state of the .github on the develop
branch, as of 2023-07-27. The stable branch .github dir should never be
ahead of that on develop. Therefore this should be safe to do.

Change-Id: I1e39de2d1f923d1834d0a77f79a1ff3220964bba
2023-07-27 09:46:28 -07:00
Bobby R. Bruce
2513d39392 misc: Update RELEASE-NOTES.md for v23.0.1.0
Change-Id: I5ae5081e0ac5524271e6c8300917d7d1e16d71ee
2023-07-26 12:50:49 -07:00
Adwaith R Krishna
7665c338e2 mem-garnet: Fix packet_id val in flit (#72)
Change-Id: I163b5a32972783bf2e99f3383b9f86776577b727

Co-authored-by: Bobby R. Bruce <bbruce@ucdavis.edu>
2023-07-26 12:32:33 -07:00
Jason Lowe-Power
4516a00593 cpu-minor: Check pc valid before printing
In https://gem5-review.googlesource.com/c/public/gem5/+/52047 inst.pc
was changed from an object to a pointer. It is possible that this
pointer is null (e.g., if there is an interrupt and there is a bubble).
Make sure to check that it's not null before printing.

I believe that other places this pointer is dereferenced without an
explicit null check are safe, but I'm not certain.

Change-Id: Idbe246cfdb62d4d75416d41b451fb3c076233bbc
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
2023-07-26 12:32:14 -07:00
Hoa Nguyen
41abc6ab77 cpu-kvm: Make using perf when using KVM CPU optional (#95)
* cpu-kvm: Add a variable signifying whether we are using perf

Change-Id: Iaa081e364f85c863f781723b5524d267724ed0e4
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>

* cpu-kvm: Making it clear the functionalities are specific to KVM

Change-Id: I982426f294d90655227dc15337bf73c42a260ded
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>

* cpu-kvm: Make perf optional

Change-Id: I8973c2a96575383976cea7ca3fda478f83e95c3f
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>

* configs: Add an example config of using KVM without perf

Change-Id: Ic69fa7dac4f1a2c8fe23712b0fa77b5b22c5f2df
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>

* Apply suggestions from code review

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

* misc: Add an example to the panic

Change-Id: Ic1fdfb955e5d8b9ad1d4f0a2bf30fa8050deba70
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>

* misc: Add warning of not using perf when using KVM CPU

Change-Id: I96c0832fb48c63a79773665ca6228da778ef0497
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>

* misc: Fix stuff

Change-Id: Ib407ae7407955b695f0e0f2718324f41bb0d768f
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>

* misc: style fix

Change-Id: I7275942e43f46140fdd52c975f76abb3c81b8b0a
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>

---------

Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>
Co-authored-by: Jason Lowe-Power <jason@lowepower.com>
2023-07-26 12:31:47 -07:00
rogerchang23424
919dd5efbd scons: Add extra parent dir to CPPPATH if --no-duplicate-sources (#104)
In the previous version of gem5, the source files of extra directories
will copy to build directory for compilation. It will not be a problem
if the extra directories include *.h(*.hh) from the other extra
directories.

After the patch applied from the change
(https://gem5-review.googlesource.com/c/public/gem5/+/68758). The
source files of extra directories will not copy to the build directory
unless the user compiles gem5 with "--duplicate-sources". It will
cause the compilation error if the code includes a header file from
other repositories.

For example, assume we want to compile gem5 with "foo/bar1" and
"foo/bar2" repositories and they are gem5-independent. There are some
header files in "foo/bar1/a.h" "foo/bar1/b.h" and "foo/bar2/d.h". If
the code "foo/bar1/sample.c" tries to include the file "foo/bar2/d.h".
They usually include the file by declare "#include bar2/d.h" in
foo/bar1/sample.c. It can work if --duplicate-sources is specified in
gem5 build because they will copy to <builddir>/bar1 and
<builddir>/bar2 respectively, and -I<builddir> is specified by default
whether duplicate_sources or not. It will raise the compilation error
if the user does not specify it.

The change is aimed to let the situation work without
duplicate-sources specified by adding parent extra directory, and
adding them before the extra directories. If the --duplicate-sources
specified, it will not add parent extra directories to avoid repeat
include paths.

Change-Id: I461e1dcb8266d785f1f38eeff77f9d515d47c03d
2023-07-26 12:31:15 -07:00
Bobby R. Bruce
fa7c00935d misc: Update version to v23.0.1.0
Change-Id: Icd673083f23a465205bea12407bf265e2ba6fb4a
2023-07-26 12:17:07 -07:00
Giacomo Travaglini
f78fc5b2f7 arch-arm: Hook TLBIOS instructions to the TlbiShareable obj
FEAT_TLBIOS has been introduced by a recent patch [1] which
was however missing to include the outer shareable case in the
Msr disambiguation switch. Which meant the TLBIOS instructions
were decoded as normal MSR instructions, with no effect whatsoever
on the TLBs

[1]: https://gem5-review.googlesource.com/c/public/gem5/+/70567

Change-Id: I41665a4634fbe0ee8cc30dbc5d88d63103082ae9
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
2023-07-26 10:42:19 -07:00
Lingkang
e810f53ebe python: fix fatal in main.py (github #78) (#93)
* python: fix fatal in main.py (github #78)

Issue-On: https://github.com/gem5/gem5/issues/78

* python: fix fatal in main.py (github #78)

Issue-On: https://github.com/gem5/gem5/issues/78
Change-Id: I80855b05168a067ddd7706ad9fd7e71e75bfd3b1

---------

Co-authored-by: Jason Lowe-Power <jason@lowepower.com>
2023-07-19 02:06:38 -07:00
Bobby R. Bruce
b82ae1481b misc: Update README/README.md (#71)
* misc: Update README to README.md

This change converts the text-based README to markdown. This works
better with modern source-control systems, most notably, GitHub.

The README.md has been broken down into sections to better organize the
document.
This section now included expanded information on Reporting bugs and
Requesting Features.

Due to renaming 'README' to 'README.md', this code was generating the
following for "info.py":

```
README.md = "<FILE CONTENTS HERE>"
```

As '.' is used to access member variables/methods in python. To fix this
"infopy.oy" now replaces "." with "_". As such the generated in in
"info.py" is now:

```
README_MD = "<FILE CONTENTS HERE>"

This puts GitHub Discussions and GitHub Issues towards the top of the
list. This is to incentivize their usage.

Change-Id: I18018ba23493f43861544497f23ec59f1e8debe1

---------

Co-authored-by: Jason Lowe-Power <jason@lowepower.com>
2023-07-19 02:06:14 -07:00
Bobby R. Bruce
84c4451ceb util: Add "Improving stability" sec to github-vagrant-runner (#87)
Change-Id: I9812a21523b5b29bd7f570df4f1e90dbeabea085
2023-07-19 02:05:46 -07:00
Bobby R. Bruce
189bf66b3e tests: Improve Pyunit tests gem5 Resources' downloads (#79)
* tests: Remove large files from resource specialization tests

These tests were downloading resources (but not actually using them) to
ensure the `obtain_resources` function returned the correct
specialization and was parsing the data correctly. As these resources
were never used, this patch removes the downloading of large files in
this case, replacing them with smaller binaries.

Change-Id: I7b33aa6be8ec65b296b470cd50b128c084f2b71f

* tests: Rename 'looppoint-json...' example specailization

Appending '-example' to the end avoids any name clashes.
'looppoint-json-restore-resources-region-1' shares this ID with a real
resources in gem5 Resources.

Change-Id: I9853e97cb71e768c46ad173b5a497609f4acc3b2

* tests: Remove disk image download from Workload Checks

This download is big and unecessary (the workload is never run as part
of the test). This patch changes this test to instead download a small
binary in it's palce (again, this does not matter as this is never
actually run as a disk image).

Change-Id: I74034ebcf5f2501917847c258570e88a8f653a5d

* tests: Update IDs in Pyunit Workload checks

Some of these IDs clash with real workloads/resources in gem5 Resources.
To avoid any possible clashes or confusions, all the mock
resources/workloads in this suite of tests has been renamed with
'-example' appending on the end of the ID.

Change-Id: Ifd907b2321416bf05e8c4e646024d179da2ca487
2023-07-18 21:08:46 -07:00
Giacomo Travaglini
2242196f03 arch-arm: Fix assert fail when UQRSHL shiftAmt==0 (#75)
When shiftAmt is 0 for a UQRSHL instruction, the code called bits() with
incorrect arguments. This fixes a left-shift of 0 to be a NOP/mov, as
required.

Change-Id: Ic86ca40ac42bfb767a09e8c65a53cec56382a008

Co-authored-by: Marton Erdos <marton.erdos@arm.com>
2023-07-18 21:08:29 -07:00
Melissa Jost
a2fcfb5152 misc: Update documentation and links for GitHub
This changes mentions of googlesource and Gerrit to instead
link to the gem5 GitHub repository, and updates the documentation
to reflect the GitHub review process.

Change-Id: I5dc1d9fcf6b96f9e5116802f938b7e3bb5b09567
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71878
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
2023-07-18 21:04:20 -07:00
mbabaie
61e0a6b4ed misc: update gem5 links
This change updates all of the gerrit links to use github.

Change-Id: I2a020dafac0bd2ba99b26c6a9cd4f0c585e253f8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/71719
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
2023-07-18 21:04:00 -07:00