arm: Add a callSemihosting method that figures out the width.
Change-Id: Ic94987fffd04648932e5dd085ffeef8500e335cf Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25951 Tested-by: Gem5 Cloud Project GCB service account <345032938727@cloudbuild.gserviceaccount.com> Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
This commit is contained in:
@@ -191,6 +191,15 @@ ArmSystem::callSemihosting32(ThreadContext *tc, bool gem5_ops)
|
||||
return getArmSystem(tc)->semihosting->call32(tc, gem5_ops);
|
||||
}
|
||||
|
||||
bool
|
||||
ArmSystem::callSemihosting(ThreadContext *tc, bool gem5_ops)
|
||||
{
|
||||
if (ArmISA::inAArch64(tc))
|
||||
return callSemihosting64(tc, gem5_ops);
|
||||
else
|
||||
return callSemihosting32(tc, gem5_ops);
|
||||
}
|
||||
|
||||
void
|
||||
ArmSystem::callSetStandByWfi(ThreadContext *tc)
|
||||
{
|
||||
|
||||
@@ -319,6 +319,9 @@ class ArmSystem : public System
|
||||
/** Make a Semihosting call from aarch32 */
|
||||
static bool callSemihosting32(ThreadContext *tc, bool gem5_ops=false);
|
||||
|
||||
/** Make a Semihosting call from either aarch64 or aarch32 */
|
||||
static bool callSemihosting(ThreadContext *tc, bool gem5_ops=false);
|
||||
|
||||
/** Make a call to notify the power controller of STANDBYWFI assertion */
|
||||
static void callSetStandByWfi(ThreadContext *tc);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user