Rename `syscall-feature-coverage` to `syscall-flag-coverage`

This commit is contained in:
Tao Su 2025-12-04 02:23:28 +00:00 committed by Tate, Hongliang Tian
parent 2c9a11e43e
commit 82cc2c1c5b
68 changed files with 70 additions and 70 deletions

View File

@ -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:

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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 domainspecific language for a lightweight domainspecific language for
specifying allowed and disallowed patterns of systemcall invocations. specifying allowed and disallowed patterns of systemcall invocations.

View File

@ -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