From bdedb2d21b3f0aceb391a96b8605d35f3a4ade5c Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 24 Jun 2021 00:14:15 -0400 Subject: sim: callback: extend syscall interface to handle 7 args The Linux syscall interface, depending on architecture, handles up to 7 arguments. Extend the callback API to handle those. --- sim/bfin/ChangeLog | 4 ++++ sim/bfin/interp.c | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'sim/bfin') diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index 3f2e73d..f523c55 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,3 +1,7 @@ +2021-06-24 Mike Frysinger + + * interp.c (bfin_syscall): Set sc.arg5 & sc.arg6. + 2021-06-22 Mike Frysinger * configure: Regenerate. diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c index 216cefe..ddd0e7a 100644 --- a/sim/bfin/interp.c +++ b/sim/bfin/interp.c @@ -120,8 +120,8 @@ bfin_syscall (SIM_CPU *cpu) sc.arg2 = args[1] = DREG (1); sc.arg3 = args[2] = DREG (2); sc.arg4 = args[3] = DREG (3); - /*sc.arg5 =*/ args[4] = DREG (4); - /*sc.arg6 =*/ args[5] = DREG (5); + sc.arg5 = args[4] = DREG (4); + sc.arg6 = args[5] = DREG (5); } else { @@ -131,8 +131,8 @@ bfin_syscall (SIM_CPU *cpu) sc.arg2 = args[1] = GET_LONG (DREG (0) + 4); sc.arg3 = args[2] = GET_LONG (DREG (0) + 8); sc.arg4 = args[3] = GET_LONG (DREG (0) + 12); - /*sc.arg5 =*/ args[4] = GET_LONG (DREG (0) + 16); - /*sc.arg6 =*/ args[5] = GET_LONG (DREG (0) + 20); + sc.arg5 = args[4] = GET_LONG (DREG (0) + 16); + sc.arg6 = args[5] = GET_LONG (DREG (0) + 20); } sc.p1 = (PTR) sd; sc.p2 = (PTR) cpu; -- cgit v1.1