📄 vfork.s
字号:
/* * arch/parisc/vfork.S, "vfork() me harder. ugh." -- kyle * * %r20 contains the system call number, %rp contains whence we came, * %rp is saved and restored across the syscall, thankfully. * */ .text .align 64 ; cache-width aligned .globl vfork .type vfork,@functionvfork: /* pid_t vfork(void) */ ble 0x100(%sr2, %r0) ; jump to gateway page nop 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: bv %r0(%rp) ; jump back nop .size vfork,.-vfork
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -