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>
This commit is contained in:
43
README
43
README
@@ -1,43 +0,0 @@
|
||||
This is the gem5 simulator.
|
||||
|
||||
The main website can be found at http://www.gem5.org
|
||||
|
||||
A good starting point is http://www.gem5.org/about, and for
|
||||
more information about building the simulator and getting started
|
||||
please see http://www.gem5.org/documentation and
|
||||
http://www.gem5.org/documentation/learning_gem5/introduction.
|
||||
|
||||
To build gem5, you will need the following software: g++ or clang,
|
||||
Python (gem5 links in the Python interpreter), SCons, zlib, m4, and lastly
|
||||
protobuf if you want trace capture and playback support. Please see
|
||||
http://www.gem5.org/documentation/general_docs/building for more details
|
||||
concerning the minimum versions of these tools.
|
||||
|
||||
Once you have all dependencies resolved, type 'scons
|
||||
build/<CONFIG>/gem5.opt' where CONFIG is one of the options in build_opts like
|
||||
ARM, NULL, MIPS, POWER, SPARC, X86, Garnet_standalone, etc. This will build an
|
||||
optimized version of the gem5 binary (gem5.opt) with the the specified
|
||||
configuration. See http://www.gem5.org/documentation/general_docs/building for
|
||||
more details and options.
|
||||
|
||||
The main source tree includes these subdirectories:
|
||||
- build_opts: pre-made default configurations for gem5
|
||||
- build_tools: tools used internally by gem5's build process.
|
||||
- configs: example simulation configuration scripts
|
||||
- ext: less-common external packages needed to build gem5
|
||||
- include: include files for use in other programs
|
||||
- site_scons: modular components of the build system
|
||||
- src: source code of the gem5 simulator
|
||||
- system: source for some optional system software for simulated systems
|
||||
- tests: regression tests
|
||||
- util: useful utility programs and files
|
||||
|
||||
To run full-system simulations, you may need compiled system firmware, kernel
|
||||
binaries and one or more disk images, depending on gem5's configuration and
|
||||
what type of workload you're trying to run. Many of those resources can be
|
||||
downloaded from http://resources.gem5.org, and/or from the git repository here:
|
||||
https://gem5.googlesource.com/public/gem5-resources/
|
||||
|
||||
If you have questions, please send mail to gem5-users@gem5.org
|
||||
|
||||
Enjoy using gem5 and please share your modifications and extensions.
|
||||
90
README.md
Normal file
90
README.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# The gem5 Simulator
|
||||
|
||||
This is the repository for the gem5 simulator. It contains the full source code
|
||||
for the simulator and all tests and regressions.
|
||||
|
||||
The gem5 simulator is a modular platform for computer-system architecture
|
||||
research, encompassing system-level architecture as well as processor
|
||||
microarchitecture. It is primarily used to evaluate new hardware designs,
|
||||
system software changes, and compile-time and run-time system optimizations.
|
||||
|
||||
The main website can be found at <http://www.gem5.org>.
|
||||
|
||||
## Getting started
|
||||
|
||||
A good starting point is <http://www.gem5.org/about>, and for
|
||||
more information about building the simulator and getting started
|
||||
please see <http://www.gem5.org/documentation> and
|
||||
<http://www.gem5.org/documentation/learning_gem5/introduction>.
|
||||
|
||||
## Building gem5
|
||||
|
||||
To build gem5, you will need the following software: g++ or clang,
|
||||
Python (gem5 links in the Python interpreter), SCons, zlib, m4, and lastly
|
||||
protobuf if you want trace capture and playback support. Please see
|
||||
<http://www.gem5.org/documentation/general_docs/building> for more details
|
||||
concerning the minimum versions of these tools.
|
||||
|
||||
Once you have all dependencies resolved, execute
|
||||
`scons build/ALL/gem5.opt` to build an optimized version of the gem5 binary
|
||||
(`gem5.opt`) containing all gem5 ISAs. If you only wish to compile gem5 to
|
||||
include a single ISA, you can replace `ALL` with the name of the ISA. Valid
|
||||
options include `ARM`, `NULL`, `MIPS`, `POWER`, `SPARC`, and `X86` The complete
|
||||
list of options can be found in the build_opts directory.
|
||||
|
||||
See https://www.gem5.org/documentation/general_docs/building for more
|
||||
information on building gem5.
|
||||
|
||||
## The Source Tree
|
||||
|
||||
The main source tree includes these subdirectories:
|
||||
|
||||
* build_opts: pre-made default configurations for gem5
|
||||
* build_tools: tools used internally by gem5's build process.
|
||||
* configs: example simulation configuration scripts
|
||||
* ext: less-common external packages needed to build gem5
|
||||
* include: include files for use in other programs
|
||||
* site_scons: modular components of the build system
|
||||
* src: source code of the gem5 simulator. The C++ source, Python wrappers, and Python standard library are found in this directory.
|
||||
* system: source for some optional system software for simulated systems
|
||||
* tests: regression tests
|
||||
* util: useful utility programs and files
|
||||
|
||||
## gem5 Resources
|
||||
|
||||
To run full-system simulations, you may need compiled system firmware, kernel
|
||||
binaries and one or more disk images, depending on gem5's configuration and
|
||||
what type of workload you're trying to run. Many of these resources can be
|
||||
obtained from <https://resources.gem5.org>.
|
||||
|
||||
More information on gem5 Resources can be found at
|
||||
<https://www.gem5.org/documentation/general_docs/gem5_resources/>.
|
||||
|
||||
## Getting Help, Reporting bugs, and Requesting Features
|
||||
|
||||
We provide a variety of channels for users and developers to get help, report
|
||||
bugs, requests features, or engage in community discussions. Below
|
||||
are a few of the most common we recommend using.
|
||||
|
||||
* **GitHub Discussions**: A GitHub Discussions page. This can be used to start
|
||||
discussions or ask questions. Available at
|
||||
<https://github.com/orgs/gem5/discussions>.
|
||||
* **GitHub Issues**: A GitHub Issues page for reporting bugs or requesting
|
||||
features. Available at <https://github.com/gem5/gem5/issues>.
|
||||
* **Jira Issue Tracker**: A Jira Issue Tracker for reporting bugs or requesting
|
||||
features. Available at <https://gem5.atlassian.net/>.
|
||||
* **Slack**: A Slack server with a variety of channels for the gem5 community
|
||||
to engage in a variety of discussions. Please visit
|
||||
<https://www.gem5.org/join-slack> to join.
|
||||
* **gem5-users@gem5.org**: A mailing list for users of gem5 to ask questions
|
||||
or start discussions. To join the mailing list please visit
|
||||
<https://www.gem5.org/mailing_lists>.
|
||||
* **gem5-dev@gem5.org**: A mailing list for developers of gem5 to ask questions
|
||||
or start discussions. To join the mailing list please visit
|
||||
<https://www.gem5.org/mailing_lists>.
|
||||
|
||||
## Contributing to gem5
|
||||
|
||||
We hope you enjoy using gem5. When appropriate we advise charing your
|
||||
contributions to the project. <https://www.gem5.org/contributing> can help you
|
||||
get started. Additional information can be found in the CONTRIBUTING.md file.
|
||||
@@ -51,7 +51,11 @@ args = parser.parse_args()
|
||||
code = code_formatter()
|
||||
|
||||
for source in args.files:
|
||||
src = os.path.basename(source)
|
||||
# We replace the "."s in the file name with underscores to make
|
||||
# it a valid python identifier. With the dot, "README.md" would generate
|
||||
# `README.md = "..."` which is not valid as `md` is not a property of
|
||||
# `README`.
|
||||
src = os.path.basename(source).replace(".", "_")
|
||||
with open(source, "r") as f:
|
||||
data = "".join(f)
|
||||
code("${src} = ${{repr(data)}}")
|
||||
|
||||
@@ -615,7 +615,7 @@ PySource('m5', 'python/m5/defines.py')
|
||||
|
||||
# Generate a file that wraps the basic top level files
|
||||
gem5py_env.Command('python/m5/info.py',
|
||||
[ File('#/COPYING'), File('#/LICENSE'), File('#/README'),
|
||||
[ File('#/COPYING'), File('#/LICENSE'), File('#/README.md'),
|
||||
"${GEM5PY}", "${INFOPY_PY}" ],
|
||||
MakeAction('"${GEM5PY}" "${INFOPY_PY}" "${TARGET}" '
|
||||
'${SOURCES[:-2]}',
|
||||
|
||||
Reference in New Issue
Block a user