arch-arm: Add aarch64 semihosting support
authorAndreas Sandberg <andreas.sandberg@arm.com>
Thu, 8 Feb 2018 20:13:13 +0000 (20:13 +0000)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 19 Feb 2018 14:24:46 +0000 (14:24 +0000)
commit6039da55d87fb27b149ac3da0ebce41bb55a3bee
tree0accdc76afa3790eb04d878d89e5f5158fd25572
parent80427ea030b521779521f57b092bc6b4afc86ab2
arch-arm: Add aarch64 semihosting support

Add basic support for Arm Semihosting 2.0 simulation calls [1]. These
calls let the guest system call a simulator or debugger to request
OS-like support when running bare metal code.

With the exception of SYS_SYSTEM, this implementation supports all of
the Semihosting 2.0 specification in aarch64.

[1] https://developer.arm.com/docs/100863/latest/preface

Change-Id: I08c153c18a4a4fb9f95d318e2a029724935192a7
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jack Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/8147
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
src/arch/arm/ArmSemihosting.py [new file with mode: 0644]
src/arch/arm/ArmSystem.py
src/arch/arm/SConscript
src/arch/arm/isa/formats/aarch64.isa
src/arch/arm/isa/insts/misc64.isa
src/arch/arm/semihosting.cc [new file with mode: 0644]
src/arch/arm/semihosting.hh [new file with mode: 0644]
src/arch/arm/system.cc
src/arch/arm/system.hh