Rename `syscall-feature-coverage` to `syscall-flag-coverage`
This commit is contained in:
parent
2c9a11e43e
commit
82cc2c1c5b
|
|
@ -5,13 +5,13 @@ on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- tools/sctrace/**
|
- tools/sctrace/**
|
||||||
- book/src/kernel/linux-compatibility/syscall-feature-coverage/**
|
- book/src/kernel/linux-compatibility/syscall-flag-coverage/**
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- tools/sctrace/**
|
- tools/sctrace/**
|
||||||
- book/src/kernel/linux-compatibility/syscall-feature-coverage/**
|
- book/src/kernel/linux-compatibility/syscall-flag-coverage/**
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
validate_scmls:
|
validate_scmls:
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
|
|
||||||
/book/ @tatetian
|
/book/ @tatetian
|
||||||
/book/src/kernel/linux-compatibility/syscall-feature-coverage/ @tatetian @taosue
|
/book/src/kernel/linux-compatibility/syscall-flag-coverage/ @tatetian @taosue
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# The Asterinas kernel
|
# The Asterinas kernel
|
||||||
|
|
|
||||||
|
|
@ -9,18 +9,18 @@
|
||||||
* [Intel TDX](kernel/intel_tdx.md)
|
* [Intel TDX](kernel/intel_tdx.md)
|
||||||
* [The Framekernel Architecture](kernel/the-framekernel-architecture.md)
|
* [The Framekernel Architecture](kernel/the-framekernel-architecture.md)
|
||||||
* [Linux Compatibility](kernel/linux-compatibility/README.md)
|
* [Linux Compatibility](kernel/linux-compatibility/README.md)
|
||||||
* [Syscall Feature Coverage](kernel/linux-compatibility/syscall-feature-coverage/README.md)
|
* [Syscall Flag Coverage](kernel/linux-compatibility/syscall-flag-coverage/README.md)
|
||||||
* [System Call Matching Language (SCML)](kernel/linux-compatibility/syscall-feature-coverage/system-call-matching-language.md)
|
* [System Call Matching Language (SCML)](kernel/linux-compatibility/syscall-flag-coverage/system-call-matching-language.md)
|
||||||
* [Process and thread management](kernel/linux-compatibility/syscall-feature-coverage/process-and-thread-management/README.md)
|
* [Process and thread management](kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/README.md)
|
||||||
* [Memory management](kernel/linux-compatibility/syscall-feature-coverage/memory-management/README.md)
|
* [Memory management](kernel/linux-compatibility/syscall-flag-coverage/memory-management/README.md)
|
||||||
* [File & directory operations](kernel/linux-compatibility/syscall-feature-coverage/file-and-directory-operations/README.md)
|
* [File & directory operations](kernel/linux-compatibility/syscall-flag-coverage/file-and-directory-operations/README.md)
|
||||||
* [File systems & mount control](kernel/linux-compatibility/syscall-feature-coverage/file-systems-and-mount-control/README.md)
|
* [File systems & mount control](kernel/linux-compatibility/syscall-flag-coverage/file-systems-and-mount-control/README.md)
|
||||||
* [File descriptor & I/O control](kernel/linux-compatibility/syscall-feature-coverage/file-descriptor-and-io-control/README.md)
|
* [File descriptor & I/O control](kernel/linux-compatibility/syscall-flag-coverage/file-descriptor-and-io-control/README.md)
|
||||||
* [Inter-process communication](kernel/linux-compatibility/syscall-feature-coverage/inter-process-communication/README.md)
|
* [Inter-process communication](kernel/linux-compatibility/syscall-flag-coverage/inter-process-communication/README.md)
|
||||||
* [Networking & sockets](kernel/linux-compatibility/syscall-feature-coverage/networking-and-sockets/README.md)
|
* [Networking & sockets](kernel/linux-compatibility/syscall-flag-coverage/networking-and-sockets/README.md)
|
||||||
* [Signals & timers](kernel/linux-compatibility/syscall-feature-coverage/signals-and-timers/README.md)
|
* [Signals & timers](kernel/linux-compatibility/syscall-flag-coverage/signals-and-timers/README.md)
|
||||||
* [Namespaces, cgroups & security](kernel/linux-compatibility/syscall-feature-coverage/namespaces-cgroups-and-security/README.md)
|
* [Namespaces, cgroups & security](kernel/linux-compatibility/syscall-flag-coverage/namespaces-cgroups-and-security/README.md)
|
||||||
* [System information & misc](kernel/linux-compatibility/syscall-feature-coverage/system-information-and-misc/README.md)
|
* [System information & misc](kernel/linux-compatibility/syscall-flag-coverage/system-information-and-misc/README.md)
|
||||||
* [File System Coverage]()
|
* [File System Coverage]()
|
||||||
* [Roadmap](kernel/roadmap.md)
|
* [Roadmap](kernel/roadmap.md)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,23 +18,23 @@ At the time of writing,
|
||||||
Asterinas supports over 225 Linux system calls for the x86-64 architecture,
|
Asterinas supports over 225 Linux system calls for the x86-64 architecture,
|
||||||
which are summarized in the table below.
|
which are summarized in the table below.
|
||||||
|
|
||||||
| Numbers | Names | Supported | Feature Coverage |
|
| Numbers | Names | Supported | Flag Coverage |
|
||||||
| ------- | ---------------------- | -------------- | --- |
|
| ------- | ---------------------- | -------------- | --- |
|
||||||
| 0 | read | ✅ | 💯 |
|
| 0 | read | ✅ | 💯 |
|
||||||
| 1 | write | ✅ | 💯 |
|
| 1 | write | ✅ | 💯 |
|
||||||
| 2 | open | ✅ | [⚠️](syscall-feature-coverage/file-and-directory-operations/#open-and-openat) |
|
| 2 | open | ✅ | [⚠️](syscall-flag-coverage/file-and-directory-operations/#open-and-openat) |
|
||||||
| 3 | close | ✅ | 💯 |
|
| 3 | close | ✅ | 💯 |
|
||||||
| 4 | stat | ✅ | 💯 |
|
| 4 | stat | ✅ | 💯 |
|
||||||
| 5 | fstat | ✅ | 💯 |
|
| 5 | fstat | ✅ | 💯 |
|
||||||
| 6 | lstat | ✅ | 💯 |
|
| 6 | lstat | ✅ | 💯 |
|
||||||
| 7 | poll | ✅ | 💯 |
|
| 7 | poll | ✅ | 💯 |
|
||||||
| 8 | lseek | ✅ | [⚠️](syscall-feature-coverage/file-and-directory-operations/#lseek) |
|
| 8 | lseek | ✅ | [⚠️](syscall-flag-coverage/file-and-directory-operations/#lseek) |
|
||||||
| 9 | mmap | ✅ | [⚠️](syscall-feature-coverage/memory-management/#mmap-and-munmap) |
|
| 9 | mmap | ✅ | [⚠️](syscall-flag-coverage/memory-management/#mmap-and-munmap) |
|
||||||
| 10 | mprotect | ✅ | [⚠️](syscall-feature-coverage/memory-management/#mprotect) |
|
| 10 | mprotect | ✅ | [⚠️](syscall-flag-coverage/memory-management/#mprotect) |
|
||||||
| 11 | munmap | ✅ | 💯 |
|
| 11 | munmap | ✅ | 💯 |
|
||||||
| 12 | brk | ✅ | 💯 |
|
| 12 | brk | ✅ | 💯 |
|
||||||
| 13 | rt_sigaction | ✅ | [⚠️](syscall-feature-coverage/signals-and-timers/#rt_sigaction) |
|
| 13 | rt_sigaction | ✅ | [⚠️](syscall-flag-coverage/signals-and-timers/#rt_sigaction) |
|
||||||
| 14 | rt_sigprocmask | ✅ | [⚠️](syscall-feature-coverage/signals-and-timers/#rt_sigprocmask) |
|
| 14 | rt_sigprocmask | ✅ | [⚠️](syscall-flag-coverage/signals-and-timers/#rt_sigprocmask) |
|
||||||
| 15 | rt_sigreturn | ✅ | 💯 |
|
| 15 | rt_sigreturn | ✅ | 💯 |
|
||||||
| 16 | ioctl | ✅ | ❓ |
|
| 16 | ioctl | ✅ | ❓ |
|
||||||
| 17 | pread64 | ✅ | 💯 |
|
| 17 | pread64 | ✅ | 💯 |
|
||||||
|
|
@ -45,10 +45,10 @@ which are summarized in the table below.
|
||||||
| 22 | pipe | ✅ | 💯 |
|
| 22 | pipe | ✅ | 💯 |
|
||||||
| 23 | select | ✅ | ❓ |
|
| 23 | select | ✅ | ❓ |
|
||||||
| 24 | sched_yield | ✅ | 💯 |
|
| 24 | sched_yield | ✅ | 💯 |
|
||||||
| 25 | mremap | ✅ | [⚠️](syscall-feature-coverage/memory-management/#mremap) |
|
| 25 | mremap | ✅ | [⚠️](syscall-flag-coverage/memory-management/#mremap) |
|
||||||
| 26 | msync | ✅ | [⚠️](syscall-feature-coverage/memory-management/#msync) |
|
| 26 | msync | ✅ | [⚠️](syscall-flag-coverage/memory-management/#msync) |
|
||||||
| 27 | mincore | ❌ | N/A |
|
| 27 | mincore | ❌ | N/A |
|
||||||
| 28 | madvise | ✅ | [⚠️](syscall-feature-coverage/memory-management/#madvise) |
|
| 28 | madvise | ✅ | [⚠️](syscall-flag-coverage/memory-management/#madvise) |
|
||||||
| 29 | shmget | ❌ | N/A |
|
| 29 | shmget | ❌ | N/A |
|
||||||
| 30 | shmat | ❌ | N/A |
|
| 30 | shmat | ❌ | N/A |
|
||||||
| 31 | shmctl | ❌ | N/A |
|
| 31 | shmctl | ❌ | N/A |
|
||||||
|
|
@ -61,38 +61,38 @@ which are summarized in the table below.
|
||||||
| 38 | setitimer | ✅ | ❓ |
|
| 38 | setitimer | ✅ | ❓ |
|
||||||
| 39 | getpid | ✅ | 💯 |
|
| 39 | getpid | ✅ | 💯 |
|
||||||
| 40 | sendfile | ✅ | 💯 |
|
| 40 | sendfile | ✅ | 💯 |
|
||||||
| 41 | socket | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#socket) |
|
| 41 | socket | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#socket) |
|
||||||
| 42 | connect | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#connect) |
|
| 42 | connect | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#connect) |
|
||||||
| 43 | accept | ✅ | ❓ |
|
| 43 | accept | ✅ | ❓ |
|
||||||
| 44 | sendto | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#sendto-and-sendmsg) |
|
| 44 | sendto | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#sendto-and-sendmsg) |
|
||||||
| 45 | recvfrom | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#recvfrom-and-recvmsg) |
|
| 45 | recvfrom | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#recvfrom-and-recvmsg) |
|
||||||
| 46 | sendmsg | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#sendto-and-sendmsg) |
|
| 46 | sendmsg | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#sendto-and-sendmsg) |
|
||||||
| 47 | recvmsg | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#recvfrom-and-recvmsg) |
|
| 47 | recvmsg | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#recvfrom-and-recvmsg) |
|
||||||
| 48 | shutdown | ✅ | ❓ |
|
| 48 | shutdown | ✅ | ❓ |
|
||||||
| 49 | bind | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#bind) |
|
| 49 | bind | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#bind) |
|
||||||
| 50 | listen | ✅ | ❓ |
|
| 50 | listen | ✅ | ❓ |
|
||||||
| 51 | getsockname | ✅ | 💯 |
|
| 51 | getsockname | ✅ | 💯 |
|
||||||
| 52 | getpeername | ✅ | ❓ |
|
| 52 | getpeername | ✅ | ❓ |
|
||||||
| 53 | socketpair | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#socketpair) |
|
| 53 | socketpair | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#socketpair) |
|
||||||
| 54 | setsockopt | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#getsockopt-and-setsockopt) |
|
| 54 | setsockopt | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#getsockopt-and-setsockopt) |
|
||||||
| 55 | getsockopt | ✅ | [⚠️](syscall-feature-coverage/networking-and-sockets/#getsockopt-and-setsockopt) |
|
| 55 | getsockopt | ✅ | [⚠️](syscall-flag-coverage/networking-and-sockets/#getsockopt-and-setsockopt) |
|
||||||
| 56 | clone | ✅ | [⚠️](syscall-feature-coverage/process-and-thread-management/#clone) |
|
| 56 | clone | ✅ | [⚠️](syscall-flag-coverage/process-and-thread-management/#clone) |
|
||||||
| 57 | fork | ✅ | 💯 |
|
| 57 | fork | ✅ | 💯 |
|
||||||
| 58 | vfork | ❌ | N/A |
|
| 58 | vfork | ❌ | N/A |
|
||||||
| 59 | execve | ✅ | 💯 |
|
| 59 | execve | ✅ | 💯 |
|
||||||
| 60 | exit | ✅ | 💯 |
|
| 60 | exit | ✅ | 💯 |
|
||||||
| 61 | wait4 | ✅ | [⚠️](syscall-feature-coverage/process-and-thread-management/#wait4) |
|
| 61 | wait4 | ✅ | [⚠️](syscall-flag-coverage/process-and-thread-management/#wait4) |
|
||||||
| 62 | kill | ✅ | 💯 |
|
| 62 | kill | ✅ | 💯 |
|
||||||
| 63 | uname | ✅ | 💯 |
|
| 63 | uname | ✅ | 💯 |
|
||||||
| 64 | semget | ✅ | [⚠️](syscall-feature-coverage/inter-process-communication/#semget) |
|
| 64 | semget | ✅ | [⚠️](syscall-flag-coverage/inter-process-communication/#semget) |
|
||||||
| 65 | semop | ✅ | [⚠️](syscall-feature-coverage/inter-process-communication/#semop-and-semtimedop) |
|
| 65 | semop | ✅ | [⚠️](syscall-flag-coverage/inter-process-communication/#semop-and-semtimedop) |
|
||||||
| 66 | semctl | ✅ | [⚠️](syscall-feature-coverage/inter-process-communication/#semctl) |
|
| 66 | semctl | ✅ | [⚠️](syscall-flag-coverage/inter-process-communication/#semctl) |
|
||||||
| 67 | shmdt | ❌ | N/A |
|
| 67 | shmdt | ❌ | N/A |
|
||||||
| 68 | msgget | ❌ | N/A |
|
| 68 | msgget | ❌ | N/A |
|
||||||
| 69 | msgsnd | ❌ | N/A |
|
| 69 | msgsnd | ❌ | N/A |
|
||||||
| 70 | msgrcv | ❌ | N/A |
|
| 70 | msgrcv | ❌ | N/A |
|
||||||
| 71 | msgctl | ❌ | N/A |
|
| 71 | msgctl | ❌ | N/A |
|
||||||
| 72 | fcntl | ✅ | [⚠️](syscall-feature-coverage/file-descriptor-and-io-control/#fcntl) |
|
| 72 | fcntl | ✅ | [⚠️](syscall-flag-coverage/file-descriptor-and-io-control/#fcntl) |
|
||||||
| 73 | flock | ✅ | ❓ |
|
| 73 | flock | ✅ | ❓ |
|
||||||
| 74 | fsync | ✅ | 💯 |
|
| 74 | fsync | ✅ | 💯 |
|
||||||
| 75 | fdatasync | ✅ | 💯 |
|
| 75 | fdatasync | ✅ | 💯 |
|
||||||
|
|
@ -118,7 +118,7 @@ which are summarized in the table below.
|
||||||
| 95 | umask | ✅ | 💯 |
|
| 95 | umask | ✅ | 💯 |
|
||||||
| 96 | gettimeofday | ✅ | 💯 |
|
| 96 | gettimeofday | ✅ | 💯 |
|
||||||
| 97 | getrlimit | ✅ | ❓ |
|
| 97 | getrlimit | ✅ | ❓ |
|
||||||
| 98 | getrusage | ✅ | [⚠️](syscall-feature-coverage/system-information-and-misc/#getrusage) |
|
| 98 | getrusage | ✅ | [⚠️](syscall-flag-coverage/system-information-and-misc/#getrusage) |
|
||||||
| 99 | sysinfo | ✅ | 💯 |
|
| 99 | sysinfo | ✅ | 💯 |
|
||||||
| 100 | times | ❌ | N/A |
|
| 100 | times | ❌ | N/A |
|
||||||
| 101 | ptrace | ❌ | N/A |
|
| 101 | ptrace | ❌ | N/A |
|
||||||
|
|
@ -145,8 +145,8 @@ which are summarized in the table below.
|
||||||
| 122 | setfsuid | ✅ | 💯 |
|
| 122 | setfsuid | ✅ | 💯 |
|
||||||
| 123 | setfsgid | ✅ | 💯 |
|
| 123 | setfsgid | ✅ | 💯 |
|
||||||
| 124 | getsid | ✅ | 💯 |
|
| 124 | getsid | ✅ | 💯 |
|
||||||
| 125 | capget | ✅ | [⚠️](syscall-feature-coverage/namespaces-cgroups-and-security/#capget-and-capset) |
|
| 125 | capget | ✅ | [⚠️](syscall-flag-coverage/namespaces-cgroups-and-security/#capget-and-capset) |
|
||||||
| 126 | capset | ✅ | [⚠️](syscall-feature-coverage/namespaces-cgroups-and-security/#capget-and-capset) |
|
| 126 | capset | ✅ | [⚠️](syscall-flag-coverage/namespaces-cgroups-and-security/#capget-and-capset) |
|
||||||
| 127 | rt_sigpending | ✅ | 💯 |
|
| 127 | rt_sigpending | ✅ | 💯 |
|
||||||
| 128 | rt_sigtimedwait | ❌ | N/A |
|
| 128 | rt_sigtimedwait | ❌ | N/A |
|
||||||
| 129 | rt_sigqueueinfo | ❌ | N/A |
|
| 129 | rt_sigqueueinfo | ❌ | N/A |
|
||||||
|
|
@ -177,19 +177,19 @@ which are summarized in the table below.
|
||||||
| 154 | modify_ldt | ❌ | N/A |
|
| 154 | modify_ldt | ❌ | N/A |
|
||||||
| 155 | pivot_root | ❌ | N/A |
|
| 155 | pivot_root | ❌ | N/A |
|
||||||
| 156 | _sysctl | ❌ | N/A |
|
| 156 | _sysctl | ❌ | N/A |
|
||||||
| 157 | prctl | ✅ | [⚠️](syscall-feature-coverage/namespaces-cgroups-and-security/#prctl) |
|
| 157 | prctl | ✅ | [⚠️](syscall-flag-coverage/namespaces-cgroups-and-security/#prctl) |
|
||||||
| 158 | arch_prctl | ✅ | [⚠️](syscall-feature-coverage/system-information-and-misc/#arch_prctl) |
|
| 158 | arch_prctl | ✅ | [⚠️](syscall-flag-coverage/system-information-and-misc/#arch_prctl) |
|
||||||
| 159 | adjtimex | ❌ | N/A |
|
| 159 | adjtimex | ❌ | N/A |
|
||||||
| 160 | setrlimit | ✅ | ❓ |
|
| 160 | setrlimit | ✅ | ❓ |
|
||||||
| 161 | chroot | ✅ | 💯 |
|
| 161 | chroot | ✅ | 💯 |
|
||||||
| 162 | sync | ✅ | 💯 |
|
| 162 | sync | ✅ | 💯 |
|
||||||
| 163 | acct | ❌ | N/A |
|
| 163 | acct | ❌ | N/A |
|
||||||
| 164 | settimeofday | ❌ | N/A |
|
| 164 | settimeofday | ❌ | N/A |
|
||||||
| 165 | mount | ✅ | [⚠️](syscall-feature-coverage/file-systems-and-mount-control/#mount) |
|
| 165 | mount | ✅ | [⚠️](syscall-flag-coverage/file-systems-and-mount-control/#mount) |
|
||||||
| 166 | umount2 | ✅ | [⚠️](syscall-feature-coverage/file-systems-and-mount-control/#umount-and-umount2) |
|
| 166 | umount2 | ✅ | [⚠️](syscall-flag-coverage/file-systems-and-mount-control/#umount-and-umount2) |
|
||||||
| 167 | swapon | ❌ | N/A |
|
| 167 | swapon | ❌ | N/A |
|
||||||
| 168 | swapoff | ❌ | N/A |
|
| 168 | swapoff | ❌ | N/A |
|
||||||
| 169 | reboot | ✅ | [⚠️](syscall-feature-coverage/system-information-and-misc/#reboot) |
|
| 169 | reboot | ✅ | [⚠️](syscall-flag-coverage/system-information-and-misc/#reboot) |
|
||||||
| 170 | sethostname | ✅ | 💯 |
|
| 170 | sethostname | ✅ | 💯 |
|
||||||
| 171 | setdomainname | ✅ | 💯 |
|
| 171 | setdomainname | ✅ | 💯 |
|
||||||
| 172 | iopl | ❌ | N/A |
|
| 172 | iopl | ❌ | N/A |
|
||||||
|
|
@ -222,7 +222,7 @@ which are summarized in the table below.
|
||||||
| 199 | fremovexattr | ✅ | 💯 |
|
| 199 | fremovexattr | ✅ | 💯 |
|
||||||
| 200 | tkill | ❌ | N/A |
|
| 200 | tkill | ❌ | N/A |
|
||||||
| 201 | time | ✅ | 💯 |
|
| 201 | time | ✅ | 💯 |
|
||||||
| 202 | futex | ✅ | [⚠️](syscall-feature-coverage/inter-process-communication/#futex) |
|
| 202 | futex | ✅ | [⚠️](syscall-flag-coverage/inter-process-communication/#futex) |
|
||||||
| 203 | sched_setaffinity | ✅ | 💯 |
|
| 203 | sched_setaffinity | ✅ | 💯 |
|
||||||
| 204 | sched_getaffinity | ✅ | 💯 |
|
| 204 | sched_getaffinity | ✅ | 💯 |
|
||||||
| 205 | set_thread_area | ❌ | N/A |
|
| 205 | set_thread_area | ❌ | N/A |
|
||||||
|
|
@ -240,17 +240,17 @@ which are summarized in the table below.
|
||||||
| 217 | getdents64 | ✅ | 💯 |
|
| 217 | getdents64 | ✅ | 💯 |
|
||||||
| 218 | set_tid_address | ✅ | 💯 |
|
| 218 | set_tid_address | ✅ | 💯 |
|
||||||
| 219 | restart_syscall | ❌ | N/A |
|
| 219 | restart_syscall | ❌ | N/A |
|
||||||
| 220 | semtimedop | ✅ | [⚠️](syscall-feature-coverage/inter-process-communication/#semop-and-semtimedop) |
|
| 220 | semtimedop | ✅ | [⚠️](syscall-flag-coverage/inter-process-communication/#semop-and-semtimedop) |
|
||||||
| 221 | fadvise64 | ✅ | ❓ |
|
| 221 | fadvise64 | ✅ | ❓ |
|
||||||
| 222 | timer_create | ✅ | [⚠️](syscall-feature-coverage/signals-and-timers/#timer_create) |
|
| 222 | timer_create | ✅ | [⚠️](syscall-flag-coverage/signals-and-timers/#timer_create) |
|
||||||
| 223 | timer_settime | ✅ | ❓ |
|
| 223 | timer_settime | ✅ | ❓ |
|
||||||
| 224 | timer_gettime | ✅ | 💯 |
|
| 224 | timer_gettime | ✅ | 💯 |
|
||||||
| 225 | timer_getoverrun | ❌ | N/A |
|
| 225 | timer_getoverrun | ❌ | N/A |
|
||||||
| 226 | timer_delete | ✅ | 💯 |
|
| 226 | timer_delete | ✅ | 💯 |
|
||||||
| 227 | clock_settime | ❌ | N/A |
|
| 227 | clock_settime | ❌ | N/A |
|
||||||
| 228 | clock_gettime | ✅ | [⚠️](syscall-feature-coverage/system-information-and-misc/#clock_gettime) |
|
| 228 | clock_gettime | ✅ | [⚠️](syscall-flag-coverage/system-information-and-misc/#clock_gettime) |
|
||||||
| 229 | clock_getres | ❌ | N/A |
|
| 229 | clock_getres | ❌ | N/A |
|
||||||
| 230 | clock_nanosleep | ✅ | [⚠️](syscall-feature-coverage/system-information-and-misc/#clock_nanosleep) |
|
| 230 | clock_nanosleep | ✅ | [⚠️](syscall-flag-coverage/system-information-and-misc/#clock_nanosleep) |
|
||||||
| 231 | exit_group | ✅ | 💯 |
|
| 231 | exit_group | ✅ | 💯 |
|
||||||
| 232 | epoll_wait | ✅ | ❓ |
|
| 232 | epoll_wait | ✅ | ❓ |
|
||||||
| 233 | epoll_ctl | ✅ | ❓ |
|
| 233 | epoll_ctl | ✅ | ❓ |
|
||||||
|
|
@ -274,15 +274,15 @@ which are summarized in the table below.
|
||||||
| 251 | ioprio_set | ✅ | ❓ |
|
| 251 | ioprio_set | ✅ | ❓ |
|
||||||
| 252 | ioprio_get | ✅ | ❓ |
|
| 252 | ioprio_get | ✅ | ❓ |
|
||||||
| 253 | inotify_init | ✅ | 💯 |
|
| 253 | inotify_init | ✅ | 💯 |
|
||||||
| 254 | inotify_add_watch | ✅ | [⚠️](syscall-feature-coverage/file-systems-and-mount-control/#inotify_add_watch) |
|
| 254 | inotify_add_watch | ✅ | [⚠️](syscall-flag-coverage/file-systems-and-mount-control/#inotify_add_watch) |
|
||||||
| 255 | inotify_rm_watch | ✅ | 💯 |
|
| 255 | inotify_rm_watch | ✅ | 💯 |
|
||||||
| 256 | migrate_pages | ❌ | N/A |
|
| 256 | migrate_pages | ❌ | N/A |
|
||||||
| 257 | openat | ✅ | [⚠️](syscall-feature-coverage/file-and-directory-operations/#open-and-openat) |
|
| 257 | openat | ✅ | [⚠️](syscall-flag-coverage/file-and-directory-operations/#open-and-openat) |
|
||||||
| 258 | mkdirat | ✅ | 💯 |
|
| 258 | mkdirat | ✅ | 💯 |
|
||||||
| 259 | mknodat | ✅ | 💯 |
|
| 259 | mknodat | ✅ | 💯 |
|
||||||
| 260 | fchownat | ✅ | ❓ |
|
| 260 | fchownat | ✅ | ❓ |
|
||||||
| 261 | futimesat | ✅ | 💯 |
|
| 261 | futimesat | ✅ | 💯 |
|
||||||
| 262 | newfstatat | ✅ | [⚠️](syscall-feature-coverage/file-and-directory-operations/#newfstatat) |
|
| 262 | newfstatat | ✅ | [⚠️](syscall-flag-coverage/file-and-directory-operations/#newfstatat) |
|
||||||
| 263 | unlinkat | ✅ | ❓ |
|
| 263 | unlinkat | ✅ | ❓ |
|
||||||
| 264 | renameat | ✅ | ❓ |
|
| 264 | renameat | ✅ | ❓ |
|
||||||
| 265 | linkat | ✅ | ❓ |
|
| 265 | linkat | ✅ | ❓ |
|
||||||
|
|
@ -310,11 +310,11 @@ which are summarized in the table below.
|
||||||
| 287 | timerfd_gettime | ✅ | 💯 |
|
| 287 | timerfd_gettime | ✅ | 💯 |
|
||||||
| 288 | accept4 | ✅ | ❓ |
|
| 288 | accept4 | ✅ | ❓ |
|
||||||
| 289 | signalfd4 | ✅ | ❓ |
|
| 289 | signalfd4 | ✅ | ❓ |
|
||||||
| 290 | eventfd2 | ✅ | [⚠️](syscall-feature-coverage/file-descriptor-and-io-control/#eventfd-and-eventfd2) |
|
| 290 | eventfd2 | ✅ | [⚠️](syscall-flag-coverage/file-descriptor-and-io-control/#eventfd-and-eventfd2) |
|
||||||
| 291 | epoll_create1 | ✅ | ❓ |
|
| 291 | epoll_create1 | ✅ | ❓ |
|
||||||
| 292 | dup3 | ✅ | 💯 |
|
| 292 | dup3 | ✅ | 💯 |
|
||||||
| 293 | pipe2 | ✅ | [⚠️](syscall-feature-coverage/file-descriptor-and-io-control/#pipe-and-pipe2) |
|
| 293 | pipe2 | ✅ | [⚠️](syscall-flag-coverage/file-descriptor-and-io-control/#pipe-and-pipe2) |
|
||||||
| 294 | inotify_init1 | ✅ | [⚠️](syscall-feature-coverage/file-systems-and-mount-control/#inotify_init-and-inotify_init1) |
|
| 294 | inotify_init1 | ✅ | [⚠️](syscall-flag-coverage/file-systems-and-mount-control/#inotify_init-and-inotify_init1) |
|
||||||
| 295 | preadv | ✅ | 💯 |
|
| 295 | preadv | ✅ | 💯 |
|
||||||
| 296 | pwritev | ✅ | 💯 |
|
| 296 | pwritev | ✅ | 💯 |
|
||||||
| 297 | rt_tgsigqueueinfo | ❌ | N/A |
|
| 297 | rt_tgsigqueueinfo | ❌ | N/A |
|
||||||
|
|
@ -334,10 +334,10 @@ which are summarized in the table below.
|
||||||
| 311 | process_vm_writev | ❌ | N/A |
|
| 311 | process_vm_writev | ❌ | N/A |
|
||||||
| 312 | kcmp | ❌ | N/A |
|
| 312 | kcmp | ❌ | N/A |
|
||||||
| 313 | finit_module | ❌ | N/A |
|
| 313 | finit_module | ❌ | N/A |
|
||||||
| 314 | sched_setattr | ✅ | [⚠️](syscall-feature-coverage/process-and-thread-management/#sched_getattr-and-sched_setattr) |
|
| 314 | sched_setattr | ✅ | [⚠️](syscall-flag-coverage/process-and-thread-management/#sched_getattr-and-sched_setattr) |
|
||||||
| 315 | sched_getattr | ✅ | [⚠️](syscall-feature-coverage/process-and-thread-management/#sched_getattr-and-sched_setattr) |
|
| 315 | sched_getattr | ✅ | [⚠️](syscall-flag-coverage/process-and-thread-management/#sched_getattr-and-sched_setattr) |
|
||||||
| 316 | renameat2 | ✅ | [⚠️](syscall-feature-coverage/file-and-directory-operations/#renameat2) |
|
| 316 | renameat2 | ✅ | [⚠️](syscall-flag-coverage/file-and-directory-operations/#renameat2) |
|
||||||
| 318 | getrandom | ✅ | [⚠️](syscall-feature-coverage/system-information-and-misc/#getrandom) |
|
| 318 | getrandom | ✅ | [⚠️](syscall-flag-coverage/system-information-and-misc/#getrandom) |
|
||||||
| 319 | memfd_create | ✅ | ❓ |
|
| 319 | memfd_create | ✅ | ❓ |
|
||||||
| 322 | execveat | ✅ | ❓ |
|
| 322 | execveat | ✅ | ❓ |
|
||||||
| 327 | preadv2 | ✅ | ❓ |
|
| 327 | preadv2 | ✅ | ❓ |
|
||||||
|
|
@ -353,7 +353,7 @@ which are summarized in the table below.
|
||||||
- ✅ = syscall supported
|
- ✅ = syscall supported
|
||||||
- ❌ = not supported
|
- ❌ = not supported
|
||||||
|
|
||||||
- Feature Coverage:
|
- Flag Coverage:
|
||||||
- 💯 = all flags/commands/modes are supported
|
- 💯 = all flags/commands/modes are supported
|
||||||
- ⚠️ = syscall works, but some flags/modes are not implemented
|
- ⚠️ = syscall works, but some flags/modes are not implemented
|
||||||
- ❓ = implementation exists, but we have not audited its coverage yet
|
- ❓ = implementation exists, but we have not audited its coverage yet
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Syscall Feature Coverage
|
# Syscall Flag Coverage
|
||||||
|
|
||||||
This section documents the feature coverage of Asterinas's implementation of Linux system calls.
|
This section documents the flag coverage of Asterinas's implementation of Linux system calls.
|
||||||
It introduce [**System Call Matching Language (SCML)**](system-call-matching-language.md),
|
It introduces [**System Call Matching Language (SCML)**](system-call-matching-language.md),
|
||||||
a lightweight domain‑specific language for
|
a lightweight domain‑specific language for
|
||||||
specifying allowed and disallowed patterns of system‑call invocations.
|
specifying allowed and disallowed patterns of system‑call invocations.
|
||||||
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
Syscall Compatibility Tracer (`sctrace`) is a powerful system call compatibility
|
Syscall Compatibility Tracer (`sctrace`) is a powerful system call compatibility
|
||||||
verification tool that analyzes and validates system call against user-defined
|
verification tool that analyzes and validates system call against user-defined
|
||||||
patterns. Written in
|
patterns. Written in
|
||||||
[SCML (System Call Matching Language)](https://asterinas.github.io/book/kernel/linux-compatibility/syscall-feature-coverage/system-call-matching-language.html),
|
[SCML (System Call Matching Language)](https://asterinas.github.io/book/kernel/linux-compatibility/syscall-flag-coverage/system-call-matching-language.html),
|
||||||
these patterns describe supported functionality of system calls.
|
these patterns describe supported functionality of system calls.
|
||||||
`sctrace` supports both real-time monitoring of running programs and post-analysis of
|
`sctrace` supports both real-time monitoring of running programs and post-analysis of
|
||||||
existing trace logs, providing comprehensive insights into system call compatibility
|
existing trace logs, providing comprehensive insights into system call compatibility
|
||||||
|
|
@ -131,7 +131,7 @@ sctrace network.scml -- curl http://example.com
|
||||||
|
|
||||||
### Example 3: Using Asterinas Compatibility Patterns
|
### Example 3: Using Asterinas Compatibility Patterns
|
||||||
|
|
||||||
Use the provided directory [syscall-feature-coverage](../../book/src/kernel/linux-compatibility/syscall-feature-coverage) (work in progress) and
|
Use the provided directory [syscall-flag-coverage](../../book/src/kernel/linux-compatibility/syscall-flag-coverage) (work in progress) and
|
||||||
test with various commands:
|
test with various commands:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue