Giacomo Travaglini
1455ac0e0c
arch-arm: Turn on EL2/EL3 support by default in ArmSystem
...
In order to turn them off a user needs to explicitly do so
by providing a different ArmRelease objec
Change-Id: I227cee80c5517cdd50cf07c62d9a131ce261310f
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/51011
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2022-05-11 13:00:42 +00:00
Giacomo Travaglini
d1d90c529c
configs: Stop using a PTW cache before L2 in Arm configs
...
This implementation of a walk cache does not allow to skip walks as it
is a simple cache placed in front of the table walker.
It was meant to provide a faster retrieval of page table descriptors
than fetching them from L2 or memory.
This is not needed anymore for Arm as from [1] we implement
partial translation caching in Arm TLBs.
[1]: JIRA: https://gem5.atlassian.net/browse/GEM5-1108
Change-Id: I00d44a4e3961e15602bf4352f2f42ddccf2b746b
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-by: Richard Cooper <richard.cooper@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/54243
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-12-16 09:00:53 +00:00
Giacomo Travaglini
152760ee51
arch-arm: Define an ArmRelease class to handle ISA extensions
...
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Change-Id: I3240853bd2123a6f24b2bb64c90ad457696f0d93
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/51010
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-09-29 22:16:03 +00:00
Giacomo Travaglini
0296e308ac
configs: Remove simpleSystem factory function
...
The function had been introduced in the past when we needed to
instantiate either an ArmSystem or a LinuxArmSystem depending on the
workload. Now that the workload object has been introduced in gem5, we
always instantiate an ArmSystem in FS mode, hence we don't need a
function to generate the System object
Change-Id: I79ccf31087b84521cce32da71bc835ff202dc432
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/43285
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-03-19 21:24:20 +00:00
Giacomo Travaglini
f20d5070b1
configs: Unnecessary iteration on baremetal.py and starter_fs.py
...
The code is actually wrong and at the moment it works simply because
those scripts are instantiating a single cluster only
Change-Id: Ie756320707f6fdb2039567afd53b966a9386715b
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42863
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-03-16 10:26:13 +00:00
Giacomo Travaglini
85c1fdac29
configs: Use MmioVirtIO for disk image in baremetal.py
...
The baremetal platform is the platform we use for running
user supplied binaries on baremetal hardware.
(simply put, it runs provided binaries without adding
a gem5 bootloader)
Some layers of this software stack might not have a pci driver.
This might be the case for firmware images like edkII
which needs to use a block device to extract the bootloader
and/or the kernel image. Those can use the memory mapped
(in host domain) virtio block device which is already
part of the VExpress_GEM5 platforms
Change-Id: I9c6ba7e1b4566a3999fd9ba20a2bebe191dc3ef8
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/39995
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-by: Richard Cooper <richard.cooper@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-01-29 22:41:24 +00:00
Andreas Sandberg
206038912c
configs: Remove Python 2 compatibility code in Arm configs
...
Remove uses of six and imports from __future__ and use native Python 3
functionality instead.
Change-Id: If37718ba99def2d6f176604e20d4ebeda75474ad
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/39581
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-by: Richard Cooper <richard.cooper@arm.com >
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-01-22 11:05:01 +00:00
Jason Lowe-Power
e2a510acef
configs: Updates for python3
...
Change-Id: Iab2f83716ea2cb19f06282f037314f2db843327a
Signed-off-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29047
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
2020-05-18 20:10:35 +00:00
Giacomo Travaglini
eabd4f3a9b
configs: Do not require args.kernel to be set in baremetal.py
...
This is allowing to us run baremetal.py with the --dtb-gen option
without needing to specify a --kernel argument
Change-Id: I98f1bc865d2f4e2230b1a85453efe83d95ec8a55
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28148
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-04-28 09:51:36 +00:00
Giacomo Travaglini
701d16c1b3
configs: Use workloads.py in baremetal.py
...
Change-Id: I806b771df448241a7a61f496ac22c29d5bc6b84c
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27971
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-04-23 09:23:08 +00:00
Giacomo Travaglini
b1d434363b
configs: Add --machine-type option to baremetal.py
...
Change-Id: Ie5d81b455b86f456a49ba91aa231169be319fa73
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-by: Adrian Herrera <adrian.herrera@arm.com >
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27952
Tested-by: kokoro <noreply+kokoro@google.com >
2020-04-21 15:34:01 +00:00
Giacomo Travaglini
235209a3ed
configs: Add --semi-path option to baremetal.py
...
This is to make it possible to configure the semihosting
root directory via commandline.
Change-Id: If5167abc19eb8d78db37ebc854c336fe778a8a6f
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-by: Adrian Herrera <adrian.herrera@arm.com >
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27951
Tested-by: kokoro <noreply+kokoro@google.com >
2020-04-21 15:34:01 +00:00
Giacomo Travaglini
303663d5c9
configs: Enabling SimObj CLI for baremetal platform
...
Change-Id: I0d4059976c8fb6a1d796998af302eaa764609f86
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27347
Tested-by: Gem5 Cloud Project GCB service account <345032938727@cloudbuild.gserviceaccount.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-04-01 16:06:54 +00:00
Giacomo Travaglini
252560f03a
configs: Initialize atags_addr in baremetal.py
...
Change-Id: Iec797d4be607526d68a2813e188a32759418dbcc
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27023
Tested-by: Gem5 Cloud Project GCB service account <345032938727@cloudbuild.gserviceaccount.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
2020-03-25 09:37:26 +00:00
Giacomo Travaglini
ad9f73eb73
configs: Enable Semihosting for baremetal.py
...
This is enabled via the --semihosting option
Change-Id: If6961cba8ec4a3aa22e788db6fe0ae54e169bb9c
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/26993
Tested-by: Gem5 Cloud Project GCB service account <345032938727@cloudbuild.gserviceaccount.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
2020-03-25 09:37:26 +00:00
Giacomo Travaglini
6a0ad7a644
configs: Make --disk-image optional in baremetal.py
...
Since the script could be used to run baremetal applications, we don't
have to enforce the presence of a disk image
Change-Id: I511515361cfd7a2e06ede0df3ddcc595de15f38b
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/26992
Tested-by: Gem5 Cloud Project GCB service account <345032938727@cloudbuild.gserviceaccount.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
2020-03-25 09:37:26 +00:00
Gabe Black
73fdc2eb57
config,arch,cpu,kern,sim: Extract kernel information from System.
...
Information about what kernel to load and how to load it was built
into the System object and its subclasses. That overloaded the System
object and made it responsible for too many things, and also was
somewhat awkward when working with SE mode which doesn't have a kernel.
This change extracts the kernel and information related to it from the
System object and puts into into a OsKernel or Workload object.
Currently the idea of a "Workload" to run and a kernel are a bit
muddled, an unfortunate carry-over from the original code. It's also an
implication of trying not to make too sweeping of a change, and to
minimize the number of times configs need to change, ie avoiding
creating a "kernel" parameter which would shortly thereafter be
renamed to "workload".
In future changes, the ideas of a kernel and a workload will be
disentangled, and workloads will be expanded to include emulated
operating systems which shephard and contain Process-es for syscall
emulation.
This change was originally split into pieces to make reviewing it
easier. Those reviews are here:
https: //gem5-review.googlesource.com/c/public/gem5/+/22243
https: //gem5-review.googlesource.com/c/public/gem5/+/24144
https: //gem5-review.googlesource.com/c/public/gem5/+/24145
https: //gem5-review.googlesource.com/c/public/gem5/+/24146
https: //gem5-review.googlesource.com/c/public/gem5/+/24147
https: //gem5-review.googlesource.com/c/public/gem5/+/24286
Change-Id: Ia3d863db276a023b6a2c7ee7a656d8142ff75589
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/26466
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-03-11 15:57:14 +00:00
Gabe Black
e9fcfb3c16
config: Delete authors lists from config files.
...
Change-Id: I049f2e97ad00d76341c2aeeaa02279862a8a4d71
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25416
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2020-02-17 10:06:07 +00:00
Giacomo Travaglini
5441dd19ed
configs: Fix baremetal platform
...
With 224da08be7 some MemConfig
functionalities have been moved to the ObjectList module
Change-Id: Iab073b6f8be5a5ea0e49e8974960d7734a5640ba
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23083
Reviewed-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Jason Lowe-Power <jason@lowepower.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2019-11-27 09:41:57 +00:00
Giacomo Travaglini
0125bf80b5
configs: Add baremetal.py example script
...
Change-Id: I7a4818836decbf743f6c9b1f2e5361a43fca2d10
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21799
Reviewed-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Jason Lowe-Power <jason@lowepower.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2019-10-31 17:23:00 +00:00