K. Lange
06f0c6f9cc
libc: fix conversions of negative timestamps (eg., 0 in western timezones)
2022-04-17 18:36:38 -04:00
K. Lange
75c3ef88bb
cpu-name: aarch64: 0/0 means hypverisor is hiding things
2022-04-17 18:23:25 -04:00
K. Lange
f44a6bbe9a
aarch64: read rtc time again on qemu
2022-04-17 18:22:53 -04:00
K. Lange
9ecad97b64
virtio: these F keys should work too
2022-04-13 22:20:12 -04:00
K. Lange
71ce811a65
virtio: map command to left super
2022-04-13 18:18:13 -07:00
K. Lange
8019a59632
kernel: disable some printfs
2022-04-13 16:19:56 -07:00
K. Lange
f144266bc5
aarch64: ac97 driver as module
2022-04-13 16:19:56 -07:00
K. Lange
7fbb7d64d7
aarch64: e1000 driver as module
2022-04-13 16:19:56 -07:00
K. Lange
3b1327464f
aarch64: basic relocations, enough for test.ko
2022-04-13 16:19:56 -07:00
K. Lange
bea3854b00
aarch64: (wip) support kernel modules
2022-04-13 16:19:56 -07:00
K. Lange
e20689f1d8
aarch64: atan2() by polynomial approximation
2022-04-13 16:19:56 -07:00
K. Lange
33d7c46a44
yutani-tty-pipe: Dumb tool to act as a keyboard over a tty
2022-04-10 08:00:12 +09:00
K. Lange
7129db86dd
xhci: Basic initialization
2022-04-10 07:59:25 +09:00
K. Lange
e8dd8aa7cb
kuroko: sync with upstream
2022-04-10 07:58:53 +09:00
K. Lange
fc890a64ad
kuroko: sync with upstream
2022-03-28 19:45:33 +09:00
K. Lange
0f8184bc9e
libc: make srand repeatable and better for seeding with time
2022-03-27 16:48:02 +09:00
K. Lange
ea896f9f8f
kuroko: sync with upstream
2022-03-26 15:01:14 +09:00
K. Lange
18b802d7ee
net: Support recvfrom on udp sockets
2022-03-22 15:40:25 +09:00
K. Lange
f6ea45f60e
net: Make ICMP sockets more normal
2022-03-22 15:33:59 +09:00
K. Lange
887bbc45a0
boot: Use BIOS calls to read keyboard, which should work for USB
2022-03-22 15:00:23 +09:00
K. Lange
de09abf2dd
x86-64: fixup serial receive loop as this one was kinda bad
2022-03-22 14:13:21 +09:00
K. Lange
6ceb9392cd
tty: fix permanently set EOF status on tty
2022-03-22 14:10:30 +09:00
K. Lange
c13c241c3b
ld.so: Ignore DTPMOD, DTPOFF rather than bailing
2022-03-21 09:34:46 +09:00
K. Lange
5caf43d90a
kernel: x86-64: copy over unmap improvements from aarch64
2022-03-16 08:39:33 +09:00
K. Lange
2d52464c8f
base: Don't use large pages when building libs for x86-64
2022-03-16 08:39:10 +09:00
K. Lange
00075494e6
kernel: aarch64: initial pass at clearing upper page structures on unmap
...
This still has thread issues, but a lot of other things need to be
redesigned to correct them.
Particularly, we have a lot of callers that use `mmu_get_page` without
acquiring any locks on the page directory, so in a multithreaded process
one core may be trying to acquire pages while another is unmapping. In
the normal sbrk setup, this shouldn't happen, especially with the locks
in userspace around malloc, and it shouldn't happen with shm as we avoid
dealing with shm pages in the unmap right now, but from the raw API we
provide it's possible for a crafted program to run into it.
The whole memory management API really needs a redesign, much of what we
expose comes from toaru32, and still leaks details about page size into
other code that shouldn't care.
2022-03-16 08:19:36 +09:00
K. Lange
2262c0b2bc
procfs: expose heap break point in /proc/{PID}/status
2022-03-16 08:17:50 +09:00
K. Lange
f3b8f64b4f
meta: Upload RPi400 kernel8.img as an artifact
2022-03-13 16:31:38 +09:00
K. Lange
b297ab3fed
kernel: improve comments in sys/ptrace.c
2022-03-13 16:07:53 +09:00
K. Lange
74e1d8c62c
strace: sys_execve doesn't return on success; handle that common case better
2022-03-13 16:07:32 +09:00
K. Lange
9f7a84c0fc
kernel: improve comments in sys/signal.c
2022-03-13 15:13:14 +09:00
K. Lange
58a1b6e999
pthread: Remove magic thread exit; pthread_exit() is just syscall_exit
2022-03-12 18:46:28 +09:00
K. Lange
4bcd1b4b89
aarch64: apply e1000 permission changes
2022-03-07 18:08:54 +09:00
K. Lange
ef4603185b
sh: tab completion for ifconfig
2022-03-07 18:07:57 +09:00
K. Lange
ce7cb58913
ifconfig: cleanup, add commands to set addresses
2022-03-07 18:07:47 +09:00
K. Lange
b67800fa1f
libc: ioctl sets errno
2022-03-07 18:06:37 +09:00
K. Lange
d0a4583988
e1000: restrict access to SIOCS* family, write()
2022-03-07 18:06:22 +09:00
K. Lange
2700849ca2
aarch64: clear instruction cache on new pages when forking
2022-03-07 09:20:19 +09:00
K. Lange
523a3a0159
kernel: packetfs: handle -ERESTARTSYS from underlying pipe
2022-03-06 16:22:48 +09:00
K. Lange
992d805f25
libc: use munmap sysfunc in free() for 'big bins'
2022-03-06 15:58:59 +09:00
K. Lange
4c2ec1f0a0
kernel: add a temporary 'munmap' sysfunc
2022-03-06 15:58:38 +09:00
K. Lange
49fd67bf2d
kernel: relocate some user virtual addresses
2022-03-06 15:58:08 +09:00
K. Lange
f778967edb
aarch64: disable lock debugging
2022-03-06 15:56:53 +09:00
K. Lange
404e236a59
meta: README typo missing word
2022-03-06 07:01:23 +09:00
K. Lange
e37207828a
kernel: print more details when trying to alert invalid process
2022-03-04 22:09:31 +09:00
K. Lange
cd04af0a75
aarch64: remove some debug messages
2022-03-04 22:08:05 +09:00
K. Lange
d932559d79
kernel: ensure we're saving/restoring all process state on signals
2022-03-04 22:04:11 +09:00
K. Lange
6ff1bc5195
kernel: clear signal disposition when running a handler, as we should
2022-03-04 22:03:21 +09:00
K. Lange
e07291a0b1
kernel: More lock fixes around pipes...
2022-03-04 22:01:13 +09:00
K. Lange
63fbbec928
kernel: Don't let things clear frames without holding the frame alloc lock
2022-03-04 22:00:37 +09:00