修订版 | 1fe79d9d43719148f4b5cf2307142cbe3419ed4f (tree) |
---|---|
时间 | 2019-12-17 12:55:22 |
作者 | Chih-Wei Huang <cwhuang@linu...> |
Commiter | Chih-Wei Huang |
Add syscalls ioperm and iopl
@@ -348,6 +348,8 @@ int __set_tls:set_thread_area(void*) mips,mips64 | ||
348 | 348 | |
349 | 349 | # x86-specific |
350 | 350 | int __set_thread_area:set_thread_area(void*) x86 |
351 | +int ioperm(unsigned long, unsigned long, int) x86,x86_64 | |
352 | +int iopl(int) x86,x86_64 | |
351 | 353 | |
352 | 354 | # vdso stuff. |
353 | 355 | int __clock_getres:clock_getres(clockid_t, struct timespec*) all |
@@ -0,0 +1,39 @@ | ||
1 | +/* Generated by gensyscalls.py. Do not edit. */ | |
2 | + | |
3 | +#include <private/bionic_asm.h> | |
4 | + | |
5 | +ENTRY(ioperm) | |
6 | + pushl %ebx | |
7 | + .cfi_def_cfa_offset 8 | |
8 | + .cfi_rel_offset ebx, 0 | |
9 | + pushl %ecx | |
10 | + .cfi_adjust_cfa_offset 4 | |
11 | + .cfi_rel_offset ecx, 0 | |
12 | + pushl %edx | |
13 | + .cfi_adjust_cfa_offset 4 | |
14 | + .cfi_rel_offset edx, 0 | |
15 | + | |
16 | + call __kernel_syscall | |
17 | + pushl %eax | |
18 | + .cfi_adjust_cfa_offset 4 | |
19 | + .cfi_rel_offset eax, 0 | |
20 | + | |
21 | + mov 20(%esp), %ebx | |
22 | + mov 24(%esp), %ecx | |
23 | + mov 28(%esp), %edx | |
24 | + movl $__NR_ioperm, %eax | |
25 | + call *(%esp) | |
26 | + addl $4, %esp | |
27 | + | |
28 | + cmpl $-MAX_ERRNO, %eax | |
29 | + jb 1f | |
30 | + negl %eax | |
31 | + pushl %eax | |
32 | + call __set_errno_internal | |
33 | + addl $4, %esp | |
34 | +1: | |
35 | + popl %edx | |
36 | + popl %ecx | |
37 | + popl %ebx | |
38 | + ret | |
39 | +END(ioperm) |
@@ -0,0 +1,29 @@ | ||
1 | +/* Generated by gensyscalls.py. Do not edit. */ | |
2 | + | |
3 | +#include <private/bionic_asm.h> | |
4 | + | |
5 | +ENTRY(iopl) | |
6 | + pushl %ebx | |
7 | + .cfi_def_cfa_offset 8 | |
8 | + .cfi_rel_offset ebx, 0 | |
9 | + | |
10 | + call __kernel_syscall | |
11 | + pushl %eax | |
12 | + .cfi_adjust_cfa_offset 4 | |
13 | + .cfi_rel_offset eax, 0 | |
14 | + | |
15 | + mov 12(%esp), %ebx | |
16 | + movl $__NR_iopl, %eax | |
17 | + call *(%esp) | |
18 | + addl $4, %esp | |
19 | + | |
20 | + cmpl $-MAX_ERRNO, %eax | |
21 | + jb 1f | |
22 | + negl %eax | |
23 | + pushl %eax | |
24 | + call __set_errno_internal | |
25 | + addl $4, %esp | |
26 | +1: | |
27 | + popl %ebx | |
28 | + ret | |
29 | +END(iopl) |
@@ -0,0 +1,15 @@ | ||
1 | +/* Generated by gensyscalls.py. Do not edit. */ | |
2 | + | |
3 | +#include <private/bionic_asm.h> | |
4 | + | |
5 | +ENTRY(ioperm) | |
6 | + movl $__NR_ioperm, %eax | |
7 | + syscall | |
8 | + cmpq $-MAX_ERRNO, %rax | |
9 | + jb 1f | |
10 | + negl %eax | |
11 | + movl %eax, %edi | |
12 | + call __set_errno_internal | |
13 | +1: | |
14 | + ret | |
15 | +END(ioperm) |
@@ -0,0 +1,15 @@ | ||
1 | +/* Generated by gensyscalls.py. Do not edit. */ | |
2 | + | |
3 | +#include <private/bionic_asm.h> | |
4 | + | |
5 | +ENTRY(iopl) | |
6 | + movl $__NR_iopl, %eax | |
7 | + syscall | |
8 | + cmpq $-MAX_ERRNO, %rax | |
9 | + jb 1f | |
10 | + negl %eax | |
11 | + movl %eax, %edi | |
12 | + call __set_errno_internal | |
13 | +1: | |
14 | + ret | |
15 | +END(iopl) |
@@ -522,6 +522,8 @@ LIBC { | ||
522 | 522 | inotify_rm_watch; |
523 | 523 | insque; # introduced=21 |
524 | 524 | ioctl; |
525 | + iopl; # x86 x86_64 | |
526 | + ioperm; # x86 x86_64 | |
525 | 527 | isalnum; |
526 | 528 | isalnum_l; # introduced=21 |
527 | 529 | isalpha; |