X-Git-Url: http://git.megacz.com/?p=nestedvm.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fnestedvm%2Fsupport.s;h=c05c5b15d153324186d866809417c6fecc9b89e8;hp=b7781d508df903febced737ca71d0be651129d7f;hb=c59b7cfc7a6b67574d38c5c8eb7732bad37236b0;hpb=ef1c27c7eff6c432f3ad7a21671947b87539acb2 diff --git a/src/org/ibex/nestedvm/support.s b/src/org/ibex/nestedvm/support.s index b7781d5..c05c5b1 100644 --- a/src/org/ibex/nestedvm/support.s +++ b/src/org/ibex/nestedvm/support.s @@ -29,13 +29,14 @@ name: \ nop; \ .end name; -#define SYSCALL_R(name) \ - .section .text._##name##_r,"ax",@progbits; \ +#define SYSCALL_R(name) SYSCALL_R2(_##name##_r,SYS_##name) +#define SYSCALL_R2(name,number) \ + .section .text.name,"ax",@progbits; \ .align 2; \ - .globl _##name##_r; \ - .ent _##name##_r; \ -_##name##_r: \ - li v0, SYS_##name; \ + .globl name; \ + .ent name; \ +name: \ + li v0, number; \ move t0, a0; \ move a0, a1; \ move a1, a2; \ @@ -52,7 +53,7 @@ $L##name##_errno: \ move a1, v0; \ j _syscall_set_errno; \ nop; \ - .end _##name##_r; + .end name; .align 2 @@ -116,7 +117,11 @@ SYSCALL_R(dup2) SYSCALL_R(fork) SYSCALL_R(waitpid) SYSCALL_R(getcwd) -SYSCALL_R(execve) +SYSCALL_R2(__execve_r,SYS_exec) SYSCALL_R(fcntl) SYSCALL_R(rmdir) SYSCALL_R(sysconf) +SYSCALL_R(readlink) +SYSCALL_R(lstat) +SYSCALL_R(symlink) +SYSCALL_R(link)