Commit Graph

1388 Commits

Author SHA1 Message Date
K. Lange
b96c18b508 syscall: support pread, pwrite 2024-02-08 16:48:25 +09:00
K. Lange
8ce8d8d397 x86_64: send more specific signals on exceptions 2024-02-08 16:46:57 +09:00
K. Lange
a0e5603e1c x86_64: cleanup lgdt 2024-01-31 08:01:44 +09:00
K. Lange
d28f70044b aarch64: unused symbol 2024-01-22 21:44:45 +09:00
K. Lange
ba5c9d7847 aarch64: use 0x516 as magic signal return address 2024-01-22 21:08:21 +09:00
K. Lange
f6e2c36d73 x86_64: Update comments in pit.c 2024-01-22 07:57:39 +09:00
K. Lange
4a1b944525 x86_64: Use lapic as preempt source on bsp 2024-01-22 07:32:12 +09:00
K. Lange
5b0c5da5f5 x86_64: always go through isr_common for lapic timer
We should always update the clocks on lapic timer,
so it should not short-circuit in kernel mode.
2024-01-22 07:31:21 +09:00
K. Lange
4c9f9a68e0 kernel: Use a common kidle thread that always calls switch_next 2024-01-22 07:29:34 +09:00
K. Lange
231f708c62 x86_64: Use 0x516 as magic signal return address 2024-01-22 07:24:15 +09:00
K. Lange
d3926009b6 tty: Support SIGTTOU, SIGTTIN behavior 2024-01-19 20:40:53 +09:00
K. Lange
fa8a6e20ab tty: support setting controlling session
This is... kinda backwards? But it works sufficiently for us.
Every TTY has at most one controlling session - every session
is supposed have at most one controlling terminal, too, but we
don't implement that part yet.
2024-01-19 20:12:34 +09:00
K. Lange
741844734c x86_64: remove unused ability to return a different interrupt context 2024-01-18 06:14:14 +09:00
K. Lange
a66f5c5f39 kernel: fix cast 2023-12-07 09:30:54 +09:00
K. Lange
8db7b3594b mbi2: Set normal load address 2023-12-07 09:29:36 +09:00
K. Lange
a8b506ad33 kernel: experiment with static-pie 2023-11-10 15:40:41 +09:00
K. Lange
b724489609 kernel: cleanup legacy stuff 2023-11-05 15:25:12 +09:00
K. Lange
d88712e956 kernel: support syscall/sysret 2023-11-05 14:32:47 +09:00
K. Lange
cf04ba62e8 syscall: Change x86-64 syscall register ABI 2023-11-05 10:40:12 +09:00
K. Lange
938bbf51eb tty: implement FLUSH on tcsetattr correctly? 2023-11-02 16:59:57 +09:00
K. Lange
2f27cce0cd tty: fix up behavior for VMIN != 0 2023-11-02 16:59:24 +09:00
K. Lange
613bc73dfd kernel: properly track time in kernel when returning to userspace 2023-11-02 10:21:00 +09:00
K. Lange
bbb399788f kernel: utime = ttime - stime 2023-11-02 10:20:40 +09:00
K. Lange
55e873bd6b x86_64: Fixup error codes for rare/new exceptions 2023-10-25 12:46:36 +09:00
K. Lange
a679ef1b4c kernel: Support quoted values in cmdline arguments with new parser 2023-10-09 20:14:52 +09:00
K. Lange
d608044bac procfs: once opened, an entry should have a length so we can SEEK_END 2023-10-09 19:56:02 +09:00
K. Lange
afcf36de70 rpi: advertise correct default speed of miniuart
Does not implement setting the baud rate yet, but correctly
advertises that we set it to 921600 by default.
2023-10-09 14:05:36 +09:00
K. Lange
bda8c8d67b pty: initial support for setting line control 2023-10-08 14:52:34 +09:00
K. Lange
aa8d79c81a ptrace: Implement a SETREGS that can rewrite syscall number 2023-10-06 08:56:20 +09:00
K. Lange
4f36cac62c kernel: get rid of unused interrupt_registers
process_t member was never set, but was referenced in ptrace
core-local member was set in x86-64 but never used
2023-10-06 07:46:11 +09:00
K. Lange
023b078d0e kernel: set version to 2.2.1 2023-09-18 06:26:05 -04:00
K. Lange
3e13dd6cb8 kernel: clean up module loader 2023-07-23 09:05:51 +09:00
K. Lange
9bdeebdfdc procfs: Update comment describing how this works 2023-07-23 09:00:39 +09:00
K. Lange
d45a0f2b13 virtio: name worker threads with square brackets 2023-07-22 23:17:39 +09:00
K. Lange
d4315dcb53 aarch64: don't set debug output as primary so we can print early log to framebuffer 2023-07-15 19:25:08 +09:00
K. Lange
7691b1691f aarch64: don't print every time we do a dtb lookup 2023-07-15 19:24:21 +09:00
K. Lange
47bfbec647 libc: fix incorrect cast of field width to char 2023-07-04 16:46:21 +09:00
K. Lange
8d1b00b851 tty: respect OPOST being unset 2023-06-21 21:06:58 +09:00
K. Lange
6d480d8a31 procfs: fix format of /proc/version 2023-06-12 12:02:37 +09:00
K. Lange
19657bae9f lfbvideo: make that just a flag option 2023-05-21 05:43:08 +09:00
K. Lange
a823bc979e lfbvideo: disable write-combining by default; add 'lfbwc' option to enable it 2023-05-21 05:39:26 +09:00
K. Lange
ddd8b06400 meta: Start calling this 2.2, new codename is 'Eternal Reality' (Railgun S OP2) 2023-05-10 09:55:28 +09:00
K. Lange
671bc064c7 tmpfs: size of symlink is length of target string 2023-05-05 22:37:02 +09:00
K. Lange
e9811a0708 virtio: handle queue overflow 2023-04-30 19:09:49 +09:00
K. Lange
a7e6b1eaae kernel: copy signal dispositions on fork; clear them on exec 2023-04-27 00:04:48 +09:00
K. Lange
54d6d21ca5 kernel: writes to /dev/null should return number of bytes written 2023-04-26 23:16:16 +09:00
K. Lange
ffb7bc36bb aarch64: ensure module base address starts aligned 2023-04-18 22:45:19 +09:00
K. Lange
ccb361fb3b kernel: mark sockets in stat; reject them in seek 2023-04-18 19:40:52 +09:00
K. Lange
0db8e34627 net: Handle signals, disconnects while waiting to recv in tcp 2023-04-18 19:40:52 +09:00
K. Lange
b8b69255e3 net: Support ioctl FIONBIO to set non-blocking 2023-04-18 19:40:52 +09:00