arm: Use an ARM specific GuestABI for ARM system calls.

Change-Id: I2d0d0a563355f43ed791ba2f2a1894e303cca994
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23448
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Gabe Black
2019-12-07 07:28:14 -08:00
parent 37d2204c5a
commit 01d41c76a4
6 changed files with 122 additions and 6 deletions

View File

@@ -151,7 +151,7 @@ setTLSFunc64(SyscallDesc *desc, int callnum, ThreadContext *tc,
return 0;
}
static SyscallDescABI<DefaultSyscallABI> syscallDescs32[] = {
static SyscallDescABI<ArmLinuxProcess32::SyscallABI> syscallDescs32[] = {
/* 0 */ { "syscall" },
/* 1 */ { "exit", exitFunc },
/* 2 */ { "fork" },
@@ -528,7 +528,7 @@ static SyscallDescABI<DefaultSyscallABI> syscallDescs32[] = {
/* 365 */ { "sys_recvmmsg" },
};
static SyscallDescABI<DefaultSyscallABI> syscallDescs64[] = {
static SyscallDescABI<ArmLinuxProcess64::SyscallABI> syscallDescs64[] = {
/* 0 */ { "io_setup" },
/* 1 */ { "io_destroy" },
/* 2 */ { "io_submit" },
@@ -1619,7 +1619,7 @@ static SyscallDescABI<DefaultSyscallABI> syscallDescs64[] = {
/* 1079 */ { "fork" }
};
static SyscallDescABI<DefaultSyscallABI> privSyscallDescs32[] = {
static SyscallDescABI<ArmLinuxProcess32::SyscallABI> privSyscallDescs32[] = {
/* 1 */ { "breakpoint" },
/* 2 */ { "cacheflush" },
/* 3 */ { "usr26" },
@@ -1628,7 +1628,7 @@ static SyscallDescABI<DefaultSyscallABI> privSyscallDescs32[] = {
};
// Indices 1, 3 and 4 are unallocated.
static SyscallDescABI<DefaultSyscallABI> privSyscallDescs64[] = {
static SyscallDescABI<ArmLinuxProcess64::SyscallABI> privSyscallDescs64[] = {
/* 1 */ { "unallocated" },
/* 2 */ { "cacheflush" },
/* 3 */ { "unallocated" },