Skip to content

pull: PR on stable-23 and hammersim23 rebase #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 790 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
790 commits
Select commit Hold shift + click to select a range
c0cb16b
util: Create HOSTNAME variable
BobbyRBruce Oct 5, 2023
8c2d414
util: Cleanup the provision_root.sh
BobbyRBruce Oct 5, 2023
f36449b
util: Add missing copyright notices
BobbyRBruce Oct 5, 2023
0e5c6d9
util: Resize VM root partition max size to ~128GB
BobbyRBruce Oct 5, 2023
6571a54
util: Use a Multi-Machine Vagrantfile
BobbyRBruce Oct 5, 2023
53219bf
util: Add Troubleshooting for "Vagrant failed..."
BobbyRBruce Oct 5, 2023
df3bcaf
util: Make all runs "build" and "run"
BobbyRBruce Oct 6, 2023
b0e1efb
util: Update the GitHub Self-Hosted Runners (#371)
BobbyRBruce Oct 9, 2023
226052e
mem-ruby: Far atomics fix (#407)
giactra Oct 9, 2023
5cd70bf
sim-se: zero out memory allocated via brk() (#343)
giactra Oct 9, 2023
a8efded
arch-arm: Include Granule Size in a TLB entry
giactra Jul 17, 2023
6b69863
arch-arm: Check VMID in secure mode as well (NS=0)
giactra Jul 17, 2023
39fdfae
arch-arm: Implement FEAT_TLBIRANGE
giactra Jul 12, 2022
edf9092
cpu: Restructure BTB
dhschall Oct 7, 2023
d4be9c7
cpu-kvm, arch-x86: flush TLB after syscalls (#411)
powerjg Oct 9, 2023
3b8c974
configs: Refactor BaseSimpleSystem in devices.py
giactra Sep 18, 2023
7395b94
configs: Add a SimpleSeSystem class to devices.py
giactra Sep 18, 2023
e35e296
configs: Use devices.SimpleSeSystem in starter_se.py
giactra Sep 18, 2023
1a5dee0
configs: Add an elastic-trace-generating CPU
giactra Sep 13, 2023
4c46155
configs: Add an example elastic-trace-generating script
giactra Sep 13, 2023
ec79213
arch-arm: Implement FEAT_TLBIRANGE extension (#414)
andysan Oct 9, 2023
c4c5d2e
arch-arm: Implement ID_AA64MMFR3_EL1 register
giactra May 23, 2023
49cbb24
arch-arm: Implement FEAT_SCTLR2
giactra May 10, 2023
eac5a8b
arch-arm: Implement FEAT_TCR2
giactra May 11, 2023
70f8c49
tests,misc: Remove 'run' and 'build' labels
BobbyRBruce Oct 6, 2023
243a261
tests: Update Testlib CI tests to use multiheading
BobbyRBruce Oct 6, 2023
d5e4541
util: Remove 'run' and 'build' tags from runners
BobbyRBruce Oct 9, 2023
d8fc018
cpu: Restructure BTB (#412)
Harshil2107 Oct 9, 2023
79f40ff
stdlib: Del comment stating SE mode limited to single thread (#402)
Harshil2107 Oct 9, 2023
452a600
New function to kernel_disk_workload to allow new disk device locatio…
Harshil2107 Oct 9, 2023
bbe05b0
tests,misc: Fix compilation tests failures (#400)
BobbyRBruce Oct 9, 2023
c535297
misc,python: Add `requirements-txt-fixer` to pre-commit
BobbyRBruce Oct 9, 2023
402ec3a
misc,python: Run `pre-commit run --all-files`
BobbyRBruce Oct 9, 2023
5b09777
misc,python: Add `pre-commit-hook-yamlfmt` to pre-commit
BobbyRBruce Oct 9, 2023
fa8c941
misc,python: Run `pre-commit run --all-files`
BobbyRBruce Oct 9, 2023
1fe0056
configs,tests: Remove `mkdir` in simpoint-se-checkpoint.py
BobbyRBruce Oct 9, 2023
21c5d77
configs: Add an example elastic trace generation script (#415)
BobbyRBruce Oct 9, 2023
93704a8
dev-amdgpu,gpu-compute: Implement GPU and HSA timestamps (#410)
BobbyRBruce Oct 9, 2023
51c881d
stdlib: Improve handing of errors in Atlas request failures
BobbyRBruce Oct 5, 2023
c5f0626
misc,python: Add yaml formatter to pre commit (#423)
BobbyRBruce Oct 10, 2023
486916b
configs,tests: Remove `mkdir` in simpoint-se-checkpoint.py (#425)
BobbyRBruce Oct 10, 2023
da212e0
Merge branch 'develop' into requirements-fixer-hook
BobbyRBruce Oct 10, 2023
dc38a80
Merge branch 'develop' into workflows-for-new-runners
BobbyRBruce Oct 10, 2023
05ebbd2
stdlib: Fix use internal _hashlib in md5_utils.py
voertler Oct 10, 2023
e412ddd
arch-arm: Split takeInt into AArch64/32 versions
giactra Jun 1, 2023
8acf49b
arch-arm: Revamp takeInt to take VHE/SEL2 into account
giactra Jun 1, 2023
d9fe0cf
arch-arm: Make interrupt masking handle VHE/SEL2 cases (#430)
giactra Oct 10, 2023
ec633b3
dev-amdgpu,mem-ruby: Add support to checkpoint and restore between ke…
mattsinc Oct 10, 2023
9f4d334
gpu-compute: Update tokens for flat global/scratch
abmerop Oct 6, 2023
141b06d
arch,arch-riscv: Remove setRegOperand in VecRegOperand (#341)
rogerchang23424 Oct 10, 2023
0ec1fb1
stdlib: Fix use internal _hashlib in md5_utils.py (#427)
BobbyRBruce Oct 10, 2023
58140bb
tests: Update test workflows for new runners (#417)
BobbyRBruce Oct 10, 2023
486763b
learning-gem5: use f-string for print
ivanaamit Oct 5, 2023
317d2fb
misc: Run `pre-commit autoupdate`
BobbyRBruce Oct 9, 2023
ddf6cb8
misc: Run `pre-commit run --all-files`
BobbyRBruce Oct 9, 2023
1502f7c
misc: Add black update change to .git-blame-ignore-rev
BobbyRBruce Oct 9, 2023
937b829
configs,ext: Updated the gem5 SST Bridge to use SST 13.0.0
kaustav-goswami Oct 5, 2023
25b2786
misc,python: Add `requirements-txt-fixer` to pre-commit (#422)
BobbyRBruce Oct 10, 2023
bbc301f
stdlib, tests: Fixed bugs and tests
Harshil2107 Oct 10, 2023
ad2fe42
Learning-gem5: fix formatting (#401)
BobbyRBruce Oct 10, 2023
d559c24
stdlib: Improve handing of errors in Atlas request failures (#404)
BobbyRBruce Oct 11, 2023
132ec10
python,misc: Add `check-ast` hook to pre-commit
BobbyRBruce Oct 6, 2023
5b5c5d0
python,misc: Add `check-merge-conflict` hook to pre-commit
BobbyRBruce Oct 6, 2023
768e488
python,misc: Add `check-symlinks` hook to pre-commit
BobbyRBruce Oct 6, 2023
592fbae
python,misc: Add `destroyed-symlinks` hook to pre-commit
BobbyRBruce Oct 6, 2023
3f5d7d6
misc: Run `pre-commit autoupdate` (#419)
BobbyRBruce Oct 11, 2023
83af452
misc,python: Add `pyupgrade` hook to pre-commit
BobbyRBruce Oct 9, 2023
298119e
misc,python: Run `pre-commit run --all-files`
BobbyRBruce Oct 9, 2023
c4156b0
python: Fix `base` logic in `MetaSimObject`
BobbyRBruce Oct 10, 2023
f65df9b
cpu: Refactor indirect predictor
dhschall Oct 8, 2023
8912501
arch-arm: Implement FEAT_TCR2 and FEAT_SCTLR2 (#416)
andysan Oct 11, 2023
da11427
gpu-compute: Update tokens for flat global/scratch (#408)
abmerop Oct 11, 2023
70b6b53
misc,python: Add `pyupgrade` to pre-commit (#424)
BobbyRBruce Oct 11, 2023
c855dbf
configs,ext: Updated the gem5 SST Bridge to use SST 13.0.0 (#396)
BobbyRBruce Oct 11, 2023
4b85a17
arch-vega: Implement buffer_atomic_cmpswap
abmerop Oct 6, 2023
4b7f25f
arch-vega: Ignore s_setprio instruction instead of panic
abmerop Oct 11, 2023
f7ad8fe
configs: GPUFS option to disable KVM perf counters (#433)
abmerop Oct 11, 2023
7bae546
arch-vega: Ignore s_setprio instruction instead of panic (#438)
abmerop Oct 12, 2023
4d336c0
arch-vega: Implement buffer_atomic_cmpswap (#439)
abmerop Oct 12, 2023
3816ea5
misc,tests: Add dummy jobs to workflows for status checks
BobbyRBruce Oct 12, 2023
bf1c10d
tests,misc: Update CI Tests 'testlib-quick' runs-on
BobbyRBruce Oct 12, 2023
3455d9e
misc,tests: Add dummy jobs to workflows for status checks (#444)
BobbyRBruce Oct 12, 2023
08c1af1
mem-ruby: Use RubyPort vector to access Ruby in cache recorder
v-ramadas Oct 12, 2023
8d54a5c
mem-ruby: Remove BUILD_GPU guards from ruby coalescer models
v-ramadas Oct 12, 2023
a33f3d3
arch-arm: Remove Jazelle state support
giactra Jun 5, 2023
1c45cdc
arch-arm: Remove legacy ThumbEE references
giactra Sep 27, 2023
59f96de
cpu: Refactor indirect predictor (#429)
andysan Oct 13, 2023
68af3f4
tests: updated the nightly tests to use SST 13.0.0 (#441)
kaustav-goswami Oct 13, 2023
7706e95
mem-ruby: Update cache recorder to use RubyPort and remove BUILD_GPU …
abmerop Oct 13, 2023
a3c51ca
arch-riscv: Fix write back register issue of vmask_mv_micro (#443)
rogerchang23424 Oct 13, 2023
4931fb0
mem-ruby: Always pass on GPU atomics to dir in write-through TCC (#367)
DanKouch Oct 14, 2023
ca2592d
configs: Fix missing param exchange for GPUFS (#457)
abmerop Oct 15, 2023
20f5555
python: Enable -m switch on gem5 binary (#453)
powerjg Oct 15, 2023
2e85c95
arch-arm: Remove Jazelle state + ThumbEE support (#364)
giactra Oct 16, 2023
a3b1bfd
cpu: Add a IsPseudo StaticInstFlag for gem5 pseudo-ops
giactra Sep 22, 2023
3f925c4
arch-arm: Mark gem5 pseudo-ops with IsPseudo flag
giactra Sep 22, 2023
d702d3b
misc: fix clang13 overloaded-virtual warning (#454)
powerjg Oct 16, 2023
d42eeb6
cpu: Explicitly define cache_line_size -> 64-bit unsigned int (#329)
BobbyRBruce Oct 16, 2023
f9cf8bf
cpu, arch-arm: Add IsPseudo tag for gem5 pseudo instructions (#465)
giactra Oct 16, 2023
97f4b44
arch-arm: Fix line-length error in misc.cc (#459)
BobbyRBruce Oct 16, 2023
5240c07
util: Fix runners to extent to max disk size (#460)
BobbyRBruce Oct 16, 2023
322b105
arch-arm: Fix (another) line-length error in misc.cc
BobbyRBruce Oct 16, 2023
a9464a4
stdlib,resources: Generalize exception for request retry (#466)
BobbyRBruce Oct 16, 2023
9b2b6cd
arch-riscv: Mark vector configuration insts as vector insts (#463)
hnpl Oct 16, 2023
2825bc1
misc: Add missing RISCV valid ISA option to README.md (#462)
rogerchang23424 Oct 16, 2023
d048ad3
arch-riscv: Change to VS bits to DIRTY for rvv insts changing vregs (…
hnpl Oct 16, 2023
aaefda3
arch-arm: Fix line-length error in branch64.is
BobbyRBruce Oct 16, 2023
df47109
dockerfiles: multi-platform setup (#336)
ivanaamit Oct 5, 2023
5b721b0
docker-bake: modified .hcl file
ivanaamit Oct 5, 2023
45df1db
docker-images: Changed path from Google Registry to GitHub
ivanaamit Oct 9, 2023
cb078f1
docker-bake: Changed compilers names to be more descriptive
ivanaamit Oct 12, 2023
cfef2ac
util-docker: Fix end-of-line error in docker-bake.hcl
BobbyRBruce Oct 16, 2023
4b9c4e1
misc: Add `--all` to Runner `docker system prune`
BobbyRBruce Oct 16, 2023
adb5470
arch-arm: Fix (other) line-length errors (#468)
BobbyRBruce Oct 17, 2023
d18087a
util: Add halt-helper.sh
BobbyRBruce Oct 17, 2023
3783aff
util: Enable KVM on VMs and ensure working in Runners
BobbyRBruce Oct 17, 2023
5387e67
cpu: Restructure RAS
dhschall Sep 5, 2023
42d1c8b
cpu: Restructure RAS (#428)
andysan Oct 17, 2023
e9fe9cb
util: Improve GitHub Action runners: Enable KVM; Better Cleanup; Bett…
BobbyRBruce Oct 17, 2023
334df18
arch-riscv: Add bootloader+kernel workload (#390)
BobbyRBruce Oct 18, 2023
7bd0b99
tests: Changed percent atomics to 0 in memtest to fix daily test (#477)
Harshil2107 Oct 18, 2023
c3acfdc
arch-riscv: Copy Misc Regs when swiching cpus (#479)
hnpl Oct 18, 2023
be89758
misc: Add additional `pre-commit` hook checks (#420)
BobbyRBruce Oct 18, 2023
57e0ba7
arch-riscv: Define VecRegContainer with maximum expected length
alvaromorenomv Aug 9, 2023
5d97cb8
arch-riscv: Define VLEN and ELEN through the ISA object
alvaromorenomv Sep 9, 2023
8a20f20
arch-riscv: Add vlen component to decoder state
alvaromorenomv Sep 14, 2023
2c9fca7
arch-riscv: Add vlen configuration to vector instructions
alvaromorenomv Aug 9, 2023
52219e5
arch-riscv: Add elen configuration to vector config instructions
alvaromorenomv Sep 23, 2023
bfb295a
util: cpt_upgrader fix vregs size for #PR171
adriaarmejach Oct 4, 2023
edf1d69
arch-riscv: Define vlwhole/vswhole mem acceses using vlen.
alvaromorenomv Oct 12, 2023
62e5198
docker-images: Use GitHub Container Registry (#418)
BobbyRBruce Oct 19, 2023
34314b3
misc: Add LULESH GPU tests (#256)
mkjost0 Oct 19, 2023
73c48a4
arch-riscv: Add dynamic VLEN and ELEN configuration support to RVV pa…
powerjg Oct 19, 2023
531067f
mem,tests: Set Ruby Mem Test atomic percent to 0 (#489)
BobbyRBruce Oct 19, 2023
fe20f4a
scons: Explicit the config option HAVE_DEPRECATED_NAMESPACE type bool
rogerchang23424 Oct 20, 2023
1a7014c
scons: Explicit the config option HAVE_PKG_CONFIG type boolean
rogerchang23424 Oct 20, 2023
069baed
scons: Explicit the config option HAVE_PROTOBUF type boolean
rogerchang23424 Oct 20, 2023
2d85707
sim: Define an InstructionDisassembler SimObject
giactra Sep 22, 2023
952c4f5
cpu: Pass a reference of the parent tracer to the ExeTracerRecord
giactra Sep 22, 2023
237bbf0
cpu: Disassemble through the InstDisassembler in the ExeTracer
giactra Sep 22, 2023
81b6e29
arch-arm: disassemble member variable not used by TarmacParser
giactra Sep 22, 2023
27ce721
arch-arm: Pass a reference of the parent tracer to TarmacContext
giactra Sep 22, 2023
3433620
arch-arm: Disassemble through InstDisassembler in TarmacTracer
giactra Sep 22, 2023
8267564
cpu: Implement a CapstoneDisassembler
giactra Oct 9, 2023
8233aa8
arch-arm: Implement a CapstoneDisassembler for Arm
giactra Sep 21, 2023
b13102f
scons: Explicit some config options HAVE_* to boolean type (#490)
giactra Oct 20, 2023
cb56c67
misc: Fix weekly-tests.yaml container uris (#488)
BobbyRBruce Oct 20, 2023
8b78e87
misc: Integrate a Capstone Disassembler in gem5 (#494)
shingarov Oct 20, 2023
6ddf8c9
arch-arm: Fix KVM Failed to set register (0x603000000013808c) (#486)
giactra Oct 20, 2023
ccbb85c
cpu: Branch Predictor Refactoring
dhschall Oct 17, 2023
b670ed9
util: Add 'sudo' to rm WORK_DIR command (#496)
BobbyRBruce Oct 24, 2023
b6ce2d0
misc: Add GitHub Runner API rate limiting (#497)
BobbyRBruce Oct 24, 2023
a47ca9d
arch-riscv: Add a function generating the ISA string
hnpl Oct 16, 2023
4f72f61
stdlib: Use the ISA string generator in the RiscvBoard
hnpl Oct 16, 2023
dce8d07
stdlib: Turn off RVV for U74 core
hnpl Oct 16, 2023
5019686
stdlib,dev: Fix several hardcoded RISC-V ISA strings
hnpl Oct 16, 2023
60290c7
cpu: Branch Predictor Refactoring (#455)
andysan Oct 26, 2023
605ec68
arch-riscv: Move VMem implementation from header to source
rogerchang23424 Aug 29, 2023
62af678
arch-riscv: Move VArith implementations from header to source
rogerchang23424 Oct 24, 2023
e561f3b
arch-riscv: Move insts/vector from header to source
rogerchang23424 Oct 24, 2023
ecc248c
misc: Fix spelling error in MAINTAINERS.yaml (#475)
ivanaamit Oct 26, 2023
06bf783
arch-riscv: Move RVV implementation from header to source (#500)
powerjg Oct 27, 2023
e496d29
stdlib: Explicitly set alloc_on_atomic for the CHI example
giactra Oct 18, 2023
1b05c00
mem-ruby: Clear the atomic log from the DataBlock in CHI
giactra Oct 28, 2023
1087041
stdlib: Use near atomics in the CHI component nodes
giactra Oct 29, 2023
d131ff4
arch-arm: Set UNCACHEABLE flag in Request in SE mode (#515)
giactra Oct 30, 2023
0218103
arch-riscv: Correct BootloaderKernelWorkload symbol table (#511)
hnpl Oct 30, 2023
3d93584
mem-ruby, stdlib: Far atomics fix (#514)
powerjg Oct 30, 2023
d011318
arch-riscv: Dynamically add V extension to device tree (#464)
powerjg Oct 30, 2023
697cab0
base,sim: Add the SymbolType field to the Symbol object
hnpl Oct 29, 2023
6eca83d
base: Add ability to generate SymbolTable by filtering SymbolType
hnpl Oct 29, 2023
4fdfb96
arch-riscv: Load function symbols for BootloaderKernelWorkload
hnpl Oct 29, 2023
2521ba0
arch-riscv: Fix implementation of CMO extension instructions
hnpl Oct 30, 2023
f615ee4
arch-riscv: Fix generateDisassembly for Store with 1 source reg
hnpl Oct 30, 2023
7c6fcb3
arch-riscv: Add all supporting Z extensions to RISC-V isa string
hnpl Oct 30, 2023
6828760
arch-riscv: Make Zicbom/Zicboz extensions optional in FS mode
hnpl Oct 30, 2023
d05433b
gpu-compute,dev-hsa: Send vendor packet completion signal
abmerop Oct 21, 2023
37da1c4
dev-amdgpu: Better handling for queue remapping
abmerop Oct 13, 2023
f07e0e7
gpu-compute: Read dispatch packet with timing DMA
abmerop Oct 20, 2023
e362310
gpu-compute: Update GPR allocation counts
abmerop Oct 27, 2023
42fd7ff
stdlib, resources: Update JSON data in workload
Harshil2107 Nov 3, 2023
e4cdd73
arch-riscv: Fix line length of CSRData declaration (#519)
rogerchang23424 Nov 6, 2023
71973b3
gpu-compute,dev-hsa: ROCm 5.5+ support (#498)
powerjg Nov 6, 2023
2c229aa
configs,ext: gem5 SST bridge calls m5.instantiate() in gem5
kaustav-goswami Oct 25, 2023
e109076
ext: removed SST deprecation notice from SimpleMem
kaustav-goswami Oct 27, 2023
76279fe
mem-ruby: update RubyRequest print to include GPU fields
mattsinc Nov 5, 2023
10374f2
Fix calculation of compressed size in bytes (#534)
odanrc Nov 7, 2023
f97adba
python: Handle unicode characters in config files (#521)
caizixian Nov 7, 2023
1f1e15e
arch-arm,kvm: Fix copy-paste error (#541)
giactra Nov 8, 2023
86131d4
mem-ruby, gpu-compute: update GPU L1I$ MRU info (#530)
mattsinc Nov 8, 2023
0442c9a
configs,ext: gem5 SST bridge calls m5.instantiate() in gem5 (#507)
BobbyRBruce Nov 8, 2023
1204267
mem-ruby: SLICC Fixes to GLC Atomics in WB L2 (#397)
DanKouch Nov 9, 2023
f61d709
mem-ruby: update RubyRequest print to include GPU fields (#537)
mattsinc Nov 13, 2023
eaec1a7
tests: Remove GCC-9 compiler test
BobbyRBruce Nov 13, 2023
c40c445
util-docker: Remove GCC Version 9 from Dockerfiles
BobbyRBruce Nov 13, 2023
cb62b08
util-docker: Update Ubuntu 20.04 to use GCC-10
BobbyRBruce Nov 13, 2023
5235466
arch-riscv: Fixing CMO instructions and allowing using CMO instructio…
BobbyRBruce Nov 13, 2023
b62308d
base,sim: Add the SymbolType field to the Symbol object (#512)
BobbyRBruce Nov 13, 2023
50c9cbf
stdlib, resources: Fixed deprecation warning
Harshil2107 Nov 13, 2023
3642bc4
mem-ruby, gpu-compute: fix GPU SQC/TCP Ruby formatting (#538)
mattsinc Nov 13, 2023
f312804
mem-ruby: fix hex print in CacheMemory (#561)
mattsinc Nov 13, 2023
75ca2c4
gpu-compute: Fix typo with GPUTLB print (#529)
mattsinc Nov 13, 2023
7d0a1fb
mem-ruby, gpu-compute: fix typo in GPU coalescer deadlock print (#535)
mattsinc Nov 13, 2023
48fde5a
mem-ruby, gpu-compute: fix formatting of TCC (#536)
mattsinc Nov 13, 2023
1c7934c
tests,util-docker: Remove gcc 9 support (#556)
BobbyRBruce Nov 14, 2023
f71450d
python,util: Fix magic number check in decode_inst_dep_trace.py (#560)
drajarshi Nov 14, 2023
dde3d10
cpu: Remove SLC bit restraint for GPU tester (#552)
DanKouch Nov 14, 2023
6ac6d0c
tests,misc: Add "build/ALL/gem5.fast" Clang compilation to CI (#432)
BobbyRBruce Nov 14, 2023
f11227b
systemc: Fix gcc13 systemC compilation error (#520)
rogerchang23424 Nov 14, 2023
8598764
mem-cache: Squash prefetch queue entries by block address.
rjc-arch Nov 14, 2022
6416304
mem-cache: Update default prefetch options.
rjc-arch Nov 14, 2022
38045d7
mem-cache: Added clean eviction check for prefetchers.
Aug 30, 2022
be5c03e
mem-ruby,configs: Add GPU GLC Atomic Resource Constraints (#120)
DanKouch Nov 14, 2023
65b44e6
mem-ruby: Fix for not creating log entries on atomic no return reques…
BujSet Nov 14, 2023
99553fd
systemc: Fix two bugs in gem5-to-tlm bridge (#542)
derchr Nov 14, 2023
e95cab4
configs,ext,stdlib: Update DRAMSys integration (#525)
derchr Nov 14, 2023
8859592
tests,gpu-compute: Fix Lulesh 'Obtain LULESH' step (#563)
BobbyRBruce Nov 14, 2023
30787b5
tests: Remove multiple suites per job for Weekly tests (#562)
BobbyRBruce Nov 14, 2023
4a5ec70
gpu-compute: Minor edits for atomic no returns and stores (#565)
BujSet Nov 15, 2023
a8440f3
arch-riscv: Move fault handler addr logic to ISA (#554)
wmin0 Nov 15, 2023
83f1fe3
dev: add debug flag in register bank. (#386)
hungweihsuG Nov 15, 2023
065ddf7
mem-ruby, gpu-compute: fix bug with GPU bypassing loads
mattsinc Nov 5, 2023
c3326c7
mem-ruby, gpu-compute: fix SQC/TCP requests to same line
mattsinc Nov 6, 2023
ceabe86
arch-riscv: Add overrides to RISC-V Interrupts class (#568)
rogerchang23424 Nov 16, 2023
2abd65c
mem: added distance parameter to stride prefetcher
Aug 30, 2022
047a494
mem-cache: Optimize strided prefetcher address generation
giactra Nov 9, 2023
bfe899e
stdlib, resources: Update JSON data in workload (#532)
BobbyRBruce Nov 16, 2023
4965367
mem-ruby, gpu-compute: fix SQC/TCP requests to same line (#540)
abmerop Nov 16, 2023
4ca2efa
mem-ruby: AtomicNoReturn should check comp_anr instead of comp_wu (#545)
giactra Nov 16, 2023
db6a869
mem-cache: Prefetchers Improvements (#564)
powerjg Nov 16, 2023
3896673
util: Bump GPUFS build docker to 5.4.2 (#571)
abmerop Nov 19, 2023
08c0d1f
dev: Fix `std::min` type mismatch in reg_bank.hh
BobbyRBruce Nov 21, 2023
d772f39
dev: Fix `std::min` type mismatch in reg_bank.hh (#582)
BobbyRBruce Nov 21, 2023
3009e0f
mem-ruby: Fix typo in CHI's Send_CompI (#579)
hnpl Nov 21, 2023
c0ea695
gpu-compute: Remove use of 'std::random_shuffle'
BobbyRBruce May 9, 2023
54af3b0
misc: Update version to v23.0.0.1
BobbyRBruce Jul 10, 2023
b634532
misc: Add ".github" changes to minor release
BobbyRBruce Jul 26, 2023
c368dbf
misc: Merge develop .github into stable
BobbyRBruce Aug 8, 2023
1b7118a
misc: Update version to v23.0.1.0
BobbyRBruce Jul 26, 2023
d45db2d
misc: Update RELEASE-NOTES.md for v23.0.1.0
BobbyRBruce Jul 26, 2023
01a09ea
misc: Copy .github directory from develop to stable
BobbyRBruce Aug 31, 2023
24b140a
misc: Copy .github directory from develop to stable (#458)
BobbyRBruce Oct 15, 2023
571b407
misc: Copy .github directory from develop to stable (#485)
BobbyRBruce Oct 19, 2023
061d272
ext,mem: updated the DRAMInterface to handle RowHammer
kaustav-goswami Nov 2, 2023
c098bca
doc: updated the docs for gem5 v23
kaustav-goswami Nov 2, 2023
b255585
util: added utility files for hammersim
kaustav-goswami Nov 2, 2023
e2ecd26
mem: fixed the default path for the device_file
kaustav-goswami Nov 2, 2023
c1b0020
configs: adds new configs to simulate rowhammer
kaustav-goswami Nov 2, 2023
82f57d2
mem: cleanup of the rowhammer code
kaustav-goswami Nov 22, 2023
3ad98d8
mem: resolving conflicts
kaustav-goswami Nov 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,9 @@ c3bd8eb1214cbebbc92c7958b80aa06913bce3ba

# A commit which ran flynt all Python files.
e73655d038cdfa68964109044e33c9a6e7d85ac9

# A commit which ran pre-commit on ext/testlib
9e1afdecefaf910fa6e266f29dc480a32b0fa83e

# Updated black from 22.6.0 to 23.9.1
ddf6cb88e48df4ac7de4a9e4b612daf2e7e635c8
56 changes: 56 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: Bug report
about: Create a report to help us find and fix the bug
title: ''
labels: bug
assignees: ''
---

**Describe the bug**
A clear and concise description of what the bug is.

**Affects version**
State which version of gem5 this bug was found in. If on the develop branch state the Commit revision ID you are working.

**gem5 Modifications**
If you have modified gem5 in some way please state, to the best of your ability, how it has been modified.

**To Reproduce**
Steps to reproduce the behavior. Please assume starting from a clean repository:

1. Compile gem5 with command ...
2. Execute the simulation with...

If writing code, or a terminal command, use code blocks. Either an inline code block, `scons build/ALL/gem5.opt` (enclosed in two '`') or a multi-line codeblock:


```python
int x=2
int y=3
print(x+y)
```

If possible, please include the Python configuration script used and state clearly any parameters passed.

**Terminal Output**
If applicable, add the terminal output here. If long, only include the relevant lines.
Please put the terminal output in code blocks. I.e.:

```shell
#Terminal output here#
```

**Expected behavior**
A clear and concise description of what you expected to happen.

**Host Operating System**
Ubuntu 22.04, Mac OS X, etc.

**Host ISA**
ARM, X86, RISC-V, etc.

**Compiler used**
State which compiler was used to compile gem5. Please include the compiler version.

**Additional information**
Add any other information which does not fit in the previous sections but may be of use in fixing this bug.
276 changes: 184 additions & 92 deletions .github/workflows/ci-tests.yaml
Original file line number Diff line number Diff line change
@@ -1,103 +1,195 @@
---
# This workflow runs after a pull-request has been approved by a reviewer.

name: CI Tests

on:
pull_request:
types: [opened, edited, synchronize, ready_for_review]
pull_request:
types: [opened, edited, synchronize, ready_for_review]

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
pre-commit:
pre-commit:
# runs on github hosted runner
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: pre-commit/action@v3.0.0
runs-on: ubuntu-22.04
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: pre-commit/action@v3.0.0

# ensures we have a change-id in every commit, needed for gerrit
check-for-change-id:
# runs on github hosted runner
runs-on: ubuntu-latest
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
steps:
- uses: actions/github-script@v6
env:
token: "Change-Id"
pattern: ".*"
with:
script: |
const commits = ${{ toJSON(github.event.commits) }}
for (const commit of commits) {
const id = "Change-Id: "
const message = commit.message;
if (!message.includes(id)) {
core.setFailed('One or more of the commits in this pull request is missing a Change-ID, which we require for any changes made to gem5. ' +
'To automatically insert one, run the following:\n f=`git rev-parse --git-dir`/hooks/commit-msg ; mkdir -p $(dirname $f) ; ' +
'curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x $f\n Then amend the commit with git commit --amend --no-edit, and update your pull request.')
}
}

build-gem5:
runs-on: [self-hosted, linux, x64, build]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id] # only runs if pre-commit and change-id passes
outputs:
artifactname: ${{ steps.name.outputs.test }}
steps:
- uses: actions/checkout@v3
- id: name
run: echo "test=$(date +"%Y-%m-%d_%H.%M.%S")-artifact" >> $GITHUB_OUTPUT

- name: Build gem5
run: |
scons build/ALL/gem5.opt -j $(nproc)
- uses: actions/upload-artifact@v3
with:
name: ${{ steps.name.outputs.test }}
path: build/ALL/gem5.opt
- run: echo "This job's status is ${{ job.status }}."

unittests-all-opt:
runs-on: [self-hosted, linux, x64, run]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id] # only runs if pre-commit and change-id passes
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- name: CI Unittests
working-directory: ${{ github.workspace }}
run: scons build/ALL/unittests.opt -j $(nproc)
- run: echo "This job's status is ${{ job.status }}."

testlib-quick:
runs-on: [self-hosted, linux, x64, run]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id, build-gem5]
timeout-minutes: 360 # 6 hours
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: ${{needs.build-gem5.outputs.artifactname}}
path: build/ALL
- run: chmod u+x build/ALL/gem5.opt
- name: The TestLib CI Tests
working-directory: ${{ github.workspace }}/tests
run: ./main.py run --skip-build -vv
- name: create zip of results
if: success() || failure()
run: |
apt-get -y install zip
zip -r output.zip tests/testing-results
- name: upload zip
if: success() || failure()
uses: actions/upload-artifact@v3
env:
MY_STEP_VAR: ${{github.job}}_COMMIT.${{github.sha}}_RUN.${{github.run_id}}_ATTEMPT.${{github.run_attempt}}
with:
name: ${{ env.MY_STEP_VAR }}
path: output.zip
retention-days: 7
- run: echo "This job's status is ${{ job.status }}."
check-for-change-id:
# runs on github hosted runner
runs-on: ubuntu-22.04
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Check for Change-Id
run: |
# loop through all the commits in the pull request
for commit in $(git rev-list ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}); do
git checkout $commit
if (git log -1 --pretty=format:"%B" | grep -q "Change-Id: ")
then
# passes as long as at least one change-id exists in the pull request
exit 0
fi
done
# if we reach this part, none of the commits had a change-id
echo "None of the commits in this pull request contains a Change-ID, which we require for any changes made to gem5. "\
"To automatically insert one, run the following:\n f=`git rev-parse --git-dir`/hooks/commit-msg ; mkdir -p $(dirname $f) ; "\
"curl -Lo $f https://gerrit-review.googlesource.com/tools/hooks/commit-msg ; chmod +x $f\n Then amend the commit with git commit --amend --no-edit, and update your pull request."
exit 1

unittests-all-opt:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id] # only runs if pre-commit and change-id passes
timeout-minutes: 60
steps:
- uses: actions/checkout@v3
- name: CI Unittests
working-directory: ${{ github.workspace }}
run: scons build/ALL/unittests.opt -j $(nproc)
- run: echo "This job's status is ${{ job.status }}."

testlib-quick-matrix:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
# In order to make sure the environment is exactly the same, we run in
# the same container we use to build gem5 and run the testlib tests. This
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id]
steps:
- uses: actions/checkout@v3

# Unfortunately the 'ubunutu-latest' image doesn't have jq installed.
# We therefore need to install it as a step here.
- name: Install jq
run: apt install -y jq

- name: Get directories for testlib-quick
working-directory: ${{ github.workspace }}/tests
id: dir-matrix
run: echo "test-dirs-matrix=$(find gem5/* -type d -maxdepth 0 | jq -ncR '[inputs]')" >>$GITHUB_OUTPUT

- name: Get the build targets for testlib-quick-gem5-builds
working-directory: ${{ github.workspace }}/tests
id: build-matrix
run: echo "build-matrix=$(./main.py list --build-targets -q | jq -ncR '[inputs]')" >>$GITHUB_OUTPUT

outputs:
build-matrix: ${{ steps.build-matrix.outputs.build-matrix }}
test-dirs-matrix: ${{ steps.dir-matrix.outputs.test-dirs-matrix }}

clang-fast-compilation:
# gem5 binaries built in `quick-gem5-builds` always use GCC.
# Clang is more strict than GCC. This job checks that gem5 compiles
# with Clang. It compiles build/ALL/gem5.fast to maximize the change
# for compilation error to be exposed.
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/clang-version-16:latest
needs: [pre-commit, check-for-change-id]
timeout-minutes: 90
steps:
- uses: actions/checkout@v3
- name: Clang Compilation
working-directory: ${{ github.workspace }}
run: scons build/ALL/gem5.fast -j $(nproc)

testlib-quick-gem5-builds:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id, testlib-quick-matrix]
strategy:
matrix:
build-target: ${{ fromJson(needs.testlib-quick-matrix.outputs.build-matrix) }}
steps:
- uses: actions/checkout@v3
- name: Build gem5
run: scons ${{ matrix.build-target }} -j $(nproc)

# Upload the gem5 binary as an artifact.
# Note: the "achor.txt" file is a hack to make sure the paths are
# preserverd in the artifact. The upload-artifact action finds the
# closest common directory and uploads everything relative to that.
# E.g., if we upload "build/ARM/gem5.opt" and "build/RISCV/gem5.opt"
# Then upload-artifact will upload "ARM/gem5.opt" and "RISCV/gem5.opt",
# stripping the "build" directory. By adding the "anchor.txt" file, we
# ensure the "build" directory is preserved.
- run: echo "anchor" > anchor.txt
- uses: actions/upload-artifact@v3
with:
name: ci-tests-${{ github.run_number }}-testlib-quick-all-gem5-builds
path: |
build/*/gem5.*
anchor.txt
retention-days: 7

testlib-quick-execution:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id, testlib-quick-matrix, testlib-quick-gem5-builds]
timeout-minutes: 360 # 6 hours
strategy:
fail-fast: false
matrix:
test-dir: ${{ fromJson(needs.testlib-quick-matrix.outputs.test-dirs-matrix) }}
steps:
- name: Clean runner
run: rm -rf ./* || true rm -rf ./.??* || true rm -rf ~/.cache || true

# Checkout the repository then download the gem5.opt artifact.
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: ci-tests-${{ github.run_number }}-testlib-quick-all-gem5-builds

# Check that the gem5.opt artifact exists and is executable.
- name: Chmod gem5.{opt,debug,fast} to be executable
run: |
find . -name "gem5.opt" -exec chmod u+x {} \;
find . -name "gem5.debug" -exec chmod u+x {} \;
find . -name "gem5.fast" -exec chmod u+x {} \;

# Run the testlib quick tests in the given directory.
- name: Run "tests/${{ matrix.test-dir }}" TestLib quick tests
id: run-tests
working-directory: ${{ github.workspace }}/tests
run: ./main.py run --skip-build -vv -j$(nproc) ${{ matrix.test-dir }}

# Get the basename of the matrix.test-dir path (to name the artifact).
- name: Sanatize test-dir for artifact name
id: sanitize-test-dir
if: success() || failure()
run: echo "sanatized-test-dir=$(echo '${{ matrix.test-dir }}' | sed 's/\//-/g')" >> $GITHUB_OUTPUT

# Upload the tests/testing-results directory as an artifact.
- name: Upload test results
if: success() || failure()
uses: actions/upload-artifact@v3
with:
name: ci-tests-run-${{ github.run_number }}-attempt-${{ github.run_attempt }}-testlib-quick-${{ steps.sanitize-test-dir.outputs.sanatized-test-dir
}}-status-${{ steps.run-tests.outcome }}-output
path: tests/testing-results
retention-days: 30

testlib-quick:
# It is 'testlib-quick' which needs to pass for the pull request to be
# merged. The 'testlib-quick-execution' is a matrix job which runs all the
# the testlib quick tests. This job is therefore a stub which will pass if
# all the testlib-quick-execution jobs pass.
runs-on: ubuntu-22.04
needs: testlib-quick-execution
steps:
- run: echo "This job's status is ${{ job.status }}."
Loading
Loading