147 Commits

Author SHA1 Message Date
Saagar Jha f1372c6175 Fix a bunch of warnings 2026-05-03 05:07:35 -07:00
Theodore Dubois a3f58a23ae Move emu/memory.[ch] to kernel/
A long time ago, for linux, emu and kernel were separated into separate
library targets, but for some reason memory.c was kept in emu/ despite
only being linked into kernel. Now's a good time to move it where it
belongs.
2024-11-07 21:38:17 -08:00
Theodore Dubois e7ba8f306f Add real implementation of statx
Fixes #2418
2024-10-20 18:24:12 -07:00
Theodore Dubois 9830c547a3 Explicitly stub some syscalls used by new versions of alpine 2024-10-19 22:40:52 -07:00
Saagar Jha f8a7e44ccf Use ENOSYS for suscalls in lieu of sending SIGSYS 2023-10-29 01:19:00 -07:00
Theodore Dubois 3d3f41e27f Dump stacl in sigill and sigsegv diagnostics 2023-05-04 20:48:42 -07:00
Theodore Dubois fac779486c Silence membarrier stub 2023-05-04 18:58:58 -07:00
Saagar Jha 7be7e0d9b7 Replace chatty syscall stubs with silent variant
These syscalls have fallbacks in musl which we do implement but they are
only invoked after they return ENOSYS, which fills dmesg with lots of
spam.
2022-10-23 19:15:02 -07:00
Theodore Dubois 3bc308a435 Fix deadlock in emulator between mem->lock and jetsam_lock 2022-02-27 16:13:46 -08:00
Mike Miller 012a72b394 Print the process name as well as the pid when informing about 'stub syscall'
Remove spurious blank line

Cleanup commit history

One more try to clean up the commit history

Treat missing syscalls the same as stubbed one for logging

Treat missing syscalls the same as stubbed ones
2022-01-03 15:20:41 -08:00
GuanZhang 7d09643aee Stub missing syscall 364, also added comment for syscall 383
This fixes #1324 on master which is currently running alpinelinux v3.14
2021-06-29 12:18:57 +09:00
Saagar Jha cb89be5259 Stub faccessat2
This fixes #1471.
2021-06-27 00:44:45 -07:00
Theodore Dubois 9bc2afb30e Refactor for linux 2020-12-20 16:35:22 -08:00
Saagar Jha 1d16949fae Implement ptrace 2020-10-11 19:36:01 -07:00
Theodore Dubois 0032099894 Improve the debug dump functions
dump_maps doesn't overflow the buffer anymore. dump_stack lets you
specify how many lines of output you want.
2020-06-27 18:46:15 -07:00
Theodore Dubois de8e84883a Stub sched_getattr
Fixes #798
2020-06-27 18:46:15 -07:00
Theodore Dubois 18176b6931 Implement setre[ug]id
Fixes #770
2020-06-27 11:59:50 -07:00
Theodore Dubois 95dc3f5290 Add a dump_maps function similar to dump_stack 2020-06-13 10:08:42 -07:00
Theodore Dubois 640017278e Fix locking issues with CPU refactor
There was a deadlock when cpu_run called cpu_step_to_interrupt with mem
read-locked, and it would write-lock mem to clean up jetsam.
2020-06-09 00:35:53 -07:00
Theodore Dubois b7ea9ff58b Implement timer_delete
#687
2020-06-05 20:52:19 -07:00
Theodore Dubois d75abc611f Stub splice()
I was running ./configure for https://github.com/redneb/ghc-alt-libc and
spotted a bad syscall in the linker, this was an easy fix
2020-06-05 20:52:05 -07:00
Theodore Dubois e846501d12 Fix some warnings seen on Travis 2020-05-30 20:23:04 -07:00
Theodore Dubois 6ae017062c Squash a ton of warnings, including with gcc 2020-05-30 17:31:55 -07:00
Theodore Dubois 186335f8ab Stub ioprio_{get,set}
#721
2020-05-22 20:41:00 -07:00
Theodore Dubois 3795b289a5 Implement timer_create and timer_settime
Fixes #707
2020-05-10 12:12:47 -07:00
Theodore Dubois d5de7ad218 Implement waitid
Go uses waitid with WNOWAIT to wait for child processes.

For #57
2020-05-03 18:31:28 -07:00
Christopher Albert dfb9f66611 Add syscall 136 personality 2020-02-17 15:45:27 +01:00
Theodore Dubois 6b5a14850c Implement mknodat 2020-02-02 22:35:58 -08:00
Theodore Dubois 8d005b114c Stub readahead
Fix #605
2020-01-05 11:13:28 -08:00
Theodore Dubois dd8d3fb9d1 Fix race condition in mem_segv_reason
There's a brief delay between the page fault and calling
mem_segv_reason, and in that window the access could become valid.
2020-01-01 19:36:28 -08:00
Theodore Dubois 7d922884f6 Implement sched_get_priority_max
Close #436
2019-12-22 20:28:14 -08:00
Theodore Dubois 757f0a6b9d Stub io_setup 2019-12-15 19:12:58 -08:00
Theodore Dubois 3eaedbb935 Add some scheduler API stubs
#461
2019-11-25 15:51:12 -08:00
Theodore Dubois dd8e656e98 Refactor execve again to allow empty arguments
Fixed #559
2019-11-17 19:58:10 -08:00
Theodore Dubois 6daf24b336 Implement timerfd_settime
Bug #104
2019-09-30 22:33:48 -07:00
Theodore Dubois cd6f4eaf7d Make values for EPROTONOSUPPORT and ESOCKNOSUPPORT positive
This fixes socketpair in python.
2019-09-21 19:37:46 -07:00
Theodore Dubois 3ef82e1500 Add stubs for inotify, and a log for stubs 2019-09-21 19:32:01 -07:00
Theodore Dubois d5f930996a Implement sigtimedwait 2019-08-25 21:28:31 -07:00
Theodore Dubois 3bd114ae48 Attempted implementation of pwrite 2019-08-11 22:15:36 -07:00
Theodore Dubois 87a9d48002 Stub setaffinity 2019-08-11 14:36:45 -07:00
Theodore Dubois f59df7c939 Stub statx 2019-08-03 16:29:24 -07:00
Theodore Dubois c41dd566c0 Correctly handle signals sent during a sigsuspend() 2019-07-27 14:55:03 -07:00
Theodore Dubois 6e76d5460b Add stub for sysv ipc 2019-07-14 14:23:15 -07:00
Theodore Dubois 95cee3f3ed Implement utime 2019-07-07 17:37:00 -07:00
Theodore Dubois 6ae1e86136 Implement 32-bit fcntl 2019-07-07 17:36:41 -07:00
Theodore Dubois c897ca4731 Stub msync 2019-07-05 19:38:46 -07:00
Theodore Dubois fce3cc64c7 Implement dup3
Close #387
2019-07-05 17:57:43 -07:00
Theodore Dubois c6e818b5c5 Include the reason for a segfault 2019-07-05 17:44:29 -07:00
Theodore Dubois 7b9371e1af Implement receiving of signals with siginfo 2019-07-04 12:51:36 -07:00
Theodore Dubois ae689abff5 Require a siginfo when sending a signal 2019-06-22 20:48:49 -07:00