Dear all,

As part of the gem5 20 release, we want to improve the way we handle the
gem5 resources. What I mean by resources are things such as test programs,
images, kernels, etc; stuff that we don't strictly need to compile or run
gem5, but we frequently use (and/or may be difficult to distribute as part
of gem5 due to licencing conflicts). At present, some of these are
currently committed within the gem5 repository, and some are pulled from
our Google Cloud bucket as needed (there may be others outside of this of
which I am not aware of).

The problem at present is:
A) The resources are not available in some common way across the project.
B) The resources change over time and this change is not well recorded,
particularly in the case of compiled binaries. The source of these binaries
needs to be provided and changes to them properly logged.
C) Similar to B), resources do not map to versions. A resource can change
in our cloud bucket over time, which may break certain activities if needed
by a previous version of gem5.

The proposal is to add another repository alongside gem5 and gem5-website
on googlesource. This repository will contain the resources' sources, which
can be compiled to produce the resources used by the project. I've started
producing this here: https://github.com/gem5/gem5-resources. Please have a
look and consult the README.md for an explanation on how this repository
would work.

The compiled products of this repo would be uploaded to our dist.gem5.org
bucket. If someone wanted to alter or add a resource to gem5, they'd do so
in this repo (via Gerrit). The gem5-resource directory would adopt the same
versioning and master/develop branch split system as gem5 currently does.
So, as gem5 v20.0.0.0 is released, so would gem5-resources v20.0.0.0.
Version X of gem5 would always be assumed to work with version X of
gem5-resources. The dist.gem5.org bucket would be kept up to date.
dist.gem5.org/dist/current would track changes made to the gem5-resources
develop branch with dist.gem5.org/dist/${VERSION} containing the resources
for the ${VERSION} release.

A few notes:
- gem5 19 contains tests that pull from dist.gem5.org/dist/current. I
believe I'll need to apply a hotfix to this release to pull from
dist.gem5.org/dist/v19-0-0-1 instead.
- Right now there is a lot of stuff on dist.gem5.org/dist/current which I
do not have sources for. I may need to ask around. This may be a bit of
work.

I'd appreciate feedback on this, if anyone has any, before I proceed
further with this plan.

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to