/* autogenerated by gensyscalls.py */
#include <sys/linux-syscalls.h>

    .text
    .type mount, @function
    .globl mount
    .align 4

mount:

    /* get ready for additonal arg */
    mov.l   @r15, r0

    /* invoke trap */
    mov.l   0f, r3  /* trap num */
    trapa   #(5 + 0x10)

    /* check return value */
    cmp/pz  r0
    bt      __NR_mount_end

    /* keep error number */
    sts.l   pr, @-r15
    mov.l   1f, r1
    jsr     @r1
    mov     r0, r4
    lds.l   @r15+, pr

__NR_mount_end:
    rts
    nop

    .align  2
0:  .long   __NR_mount
1:  .long   __set_syscall_errno
