📄 syscall.s
字号:
/* * arch/parisc/syscall.S * * %r20 contains the system call number, %r2 contains whence we came * */ .text .align 64 ; cache-width aligned .globl __syscall_common .type __syscall_common,@function__syscall_common: ldo 0x40(%sp),%sp stw %rp,-0x54(%sp) ; save return pointer ldw -0x74(%sp),%r22 ; %arg4 ldw -0x78(%sp),%r21 ; %arg5 ble 0x100(%sr2, %r0) ; jump to gateway page nop ; can we move a load here? ldi -0x1000,%r19 ; %r19 = -4096 sub %r0,%ret0,%r22 ; %r22 = -%ret0 cmpb,>>=,n %r19,%ret0,1f ; if %ret0 >= -4096UL ldi -1,%ret0 ; nullified on taken forward /* store %r22 to errno... */ ldil L%errno,%r1 ldo R%errno(%r1),%r1 stw %r22,0(%r1)1: ldw -0x54(%sp),%rp ; restore return pointer bv %r0(%rp) ; jump back ldo -0x40(%sp),%sp .size __syscall_common,.-__syscall_common
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -