]> git.proxmox.com Git - qemu.git/blob - ia64-syscall.S
Bochs disk image support (Alex Beregszaszi)
[qemu.git] / ia64-syscall.S
1 /* derived from glibc sysdeps/unix/sysv/linux/ia64/sysdep.S */
2
3 #define __ASSEMBLY__
4
5 #include <asm/asmmacro.h>
6 #include <asm/unistd.h>
7
8 ENTRY(__syscall_error)
9 .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(0)
10 alloc r33=ar.pfs, 0, 4, 0, 0
11 mov r32=rp
12 .body
13 mov r35=r8
14 mov r34=r1
15 ;;
16 br.call.sptk.many b0 = __errno_location
17 .Lret0: /* force new bundle */
18 st4 [r8]=r35
19 mov r1=r34
20 mov rp=r32
21 mov r8=-1
22 mov ar.pfs=r33
23 br.ret.sptk.few b0
24 END(__syscall_error)
25
26 GLOBAL_ENTRY(__ia64_syscall)
27 mov r15=r37 /* syscall number */
28 break __BREAK_SYSCALL
29 cmp.eq p6,p0=-1,r10 /* r10 = -1 on error */
30 (p6) br.cond.spnt.few __syscall_error
31 br.ret.sptk.few b0
32 .endp __ia64_syscall