stub.s

来自「底层驱动开发」· S 代码 · 共 67 行

S
67
字号
#include "uml-config.h"	.globl syscall_stub.section .__syscall_stub, "x"syscall_stub:	syscall	/* We don't have 64-bit constants, so this constructs the address	 * we need.	 */	movq	$(UML_CONFIG_STUB_DATA >> 32), %rbx	salq	$32, %rbx	movq	$(UML_CONFIG_STUB_DATA & 0xffffffff), %rcx	or	%rcx, %rbx	movq	%rax, (%rbx)	int3	.globl batch_syscall_stubbatch_syscall_stub:	mov	$(UML_CONFIG_STUB_DATA >> 32), %rbx	sal	$32, %rbx	mov	$(UML_CONFIG_STUB_DATA & 0xffffffff), %rax	or	%rax, %rbx	/* load pointer to first operation */	mov	%rbx, %rsp	add	$0x10, %rspagain:	/* load length of additional data */	mov	0x0(%rsp), %rax	/* if(length == 0) : end of list */	/* write possible 0 to header */	mov	%rax, 8(%rbx)	cmp	$0, %rax	jz	done	/* save current pointer */	mov	%rsp, 8(%rbx)	/* skip additional data */	add	%rax, %rsp	/* load syscall-# */	pop	%rax	/* load syscall params */	pop	%rdi	pop	%rsi	pop	%rdx	pop	%r10 	pop	%r8	pop	%r9	/* execute syscall */	syscall	/* check return value */	pop	%rcx	cmp	%rcx, %rax	je	againdone:	/* save return value */	mov	%rax, (%rbx)	/* stop */	int3

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?