sparc: Remove support for Solaris SE mode.
authorGabe Black <gabe.black@gmail.com>
Wed, 21 Oct 2020 00:37:00 +0000 (17:37 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 27 Oct 2020 09:18:01 +0000 (09:18 +0000)
commit4eb2360001066e59aefd987643977ba6ee417185
tree6f353c14e58ae4bcb224abfa849ef6991d6c7cb9
parent175355f71e18e8e8ed401bd267646aa850dc900e
sparc: Remove support for Solaris SE mode.

In SPARC and SE mode, system calls are triggered by a trap exception
with the appropriate trap number, and then a handler within the Workload
(formerly the Process) object recognizes the trap number and triggers
the system call.

For Linux, this special handling happens in the Linux specific Workload,
and other types of traps are passed through to the base SPARC SE
Workload class. For Solaris however, no special handling is implemented.
That means that it's actually impossible for a Solaris SE mode program
to actually trigger a system call, and so while there is some code
written for Solaris SE mode, this feature does not actually work at all.

Also, while it's relatively easy to build binaries for Linux on various
architectures using, for instance, the crosstool-ng configs in util/,
there is no ready made option that I could find for building a SPARC
Solaris cross compiler which would run on x86 linux.

Given that the support that exists isn't actually hooked up properly,
SPARC is not one of the most popular ISAs within gem5, Solaris is not a
widely used operating system, we have (to my knowledge) no test binary
to run, and setting up a cross compiler would be non-trivial, it makes
the most sense to me to remove this support.

Change-Id: I896b5abc4bf337bd4e4c06c49de7111a3b2b784c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33996
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/sparc/SConscript
src/arch/sparc/SparcSeWorkload.py
src/arch/sparc/solaris/se_workload.cc [deleted file]
src/arch/sparc/solaris/se_workload.hh [deleted file]