ARM: Add __sys_call6, _sys_call6.

* lib/linux/arm-mes-mescc/syscall.c (__sys_call6): New procedure.
(_sys_call6): New procedure.
This commit is contained in:
Danny Milosavljevic 2019-05-15 22:39:45 +02:00 committed by Jan Nieuwenhuizen
parent 371e11fd9e
commit 5874b709b8
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
1 changed files with 27 additions and 0 deletions

View File

@ -66,6 +66,19 @@ __sys_call4 (int sys_call, int one, int two, int three, int four)
asm ("swi____$0");
}
int
__sys_call6 (int sys_call, int one, int two, int three, int four, int five, int six)
{
asm ("!8 ldr____%r7,(%fp,+#$i8)");
asm ("!12 ldr____%r0,(%fp,+#$i8)");
asm ("!16 ldr____%r1,(%fp,+#$i8)");
asm ("!20 ldr____%r2,(%fp,+#$i8)");
asm ("!24 ldr____%r3,(%fp,+#$i8)");
asm ("!28 ldr____%r4,(%fp,+#$i8)");
asm ("!32 ldr____%r5,(%fp,+#$i8)");
asm ("swi____$0");
}
int
_sys_call (int sys_call)
{
@ -135,3 +148,17 @@ _sys_call4 (int sys_call, int one, int two, int three, int four)
errno = 0;
return r;
}
int
_sys_call6 (int sys_call, int one, int two, int three, int four, int five, int six)
{
int r = __sys_call6 (sys_call, one, two, three, four, five, six);
if (r < 0)
{
errno = -r;
r = -1;
}
else
errno = 0;
return r;
}