Commit Graph

1385 Commits

Author SHA1 Message Date
K. Lange
2262c0b2bc procfs: expose heap break point in /proc/{PID}/status 2022-03-16 08:17:50 +09:00
K. Lange
b297ab3fed kernel: improve comments in sys/ptrace.c 2022-03-13 16:07:53 +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
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
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
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
K. Lange
3852646174 kernel: Restart some signals, fix up suspend to work with new signal management 2022-03-04 18:39:38 +09:00
K. Lange
bbebc7c128 kernel: complete redesign of signal handling 2022-03-04 16:12:16 +09:00
K. Lange
b3f6728339 date: add rudimentary support for setting date/time 2022-02-25 21:16:30 +09:00
K. Lange
7d2beb443b aarch64: expose dtb as a device file 2022-02-23 20:40:53 +09:00
K. Lange
b29edb0db3 rpi400: mini uart driver 2022-02-23 16:33:30 +09:00
K. Lange
94b86558d3 aarch64: cleanup, fix warnings 2022-02-23 10:27:47 +09:00
K. Lange
c96bae5e78 aarch64: temporary device drivers until modules are ready 2022-02-23 10:24:15 +09:00
K. Lange
5a6648a869 rpi400: try to clean up rpi stuff 2022-02-23 09:49:16 +09:00
K. Lange
814f5210ae aarch64: cleanup some warnings 2022-02-22 17:30:17 +09:00
K. Lange
6c69d235cf aarch64: implement a better spinlock 2022-02-22 09:53:55 +09:00
K. Lange
4946a0bf5a aarch64: reset timer on entry into idle wait 2022-02-22 09:53:30 +09:00
K. Lange
4cc4d9520e aarch64: force task switch when idle gets wakeup signal 2022-02-22 09:53:04 +09:00
K. Lange
5019c047c5 aarch64: expose aarch64_interrupt_dispatch as a symbol 2022-02-22 09:52:37 +09:00
K. Lange
c180959f4e aarch64: idle task loops should be the same for BP and APs 2022-02-22 09:51:56 +09:00
K. Lange
2543e2ce0c aarch64: this seems to be necessary or hvf can occasionally throw a fault on syscall return? 2022-02-20 18:12:29 +09:00
K. Lange
59c92182b4 aarch64: save/restore fpu status registers 2022-02-20 18:12:02 +09:00
K. Lange
255b2296fd aarch64: implement panic halting with sgis 2022-02-20 18:11:24 +09:00
K. Lange
975b388962 rpi400: smp startup 2022-02-18 18:44:23 +09:00
K. Lange
4c13c92180 rpi400: request maximum clock speed at startup 2022-02-16 19:43:25 +09:00
K. Lange
7fc07996d1 rpi400: fbterm: only do that on arm 2022-02-16 12:38:51 +09:00
K. Lange
116ee0a803 rpi400: initial platform support 2022-02-16 12:36:03 +09:00
K. Lange
54cd122d3e aarch64: virtio: be even pickier about cache maintenance 2022-02-13 18:29:57 +09:00
K. Lange
62b0b216d6 kernel: more lock ordering shenanigans 2022-02-13 14:44:09 +09:00
K. Lange
6b35dab7da kernel: fix faulty lock around sleep nodes not capturing potential change in owner 2022-02-12 17:51:24 +09:00
K. Lange
ce4bf5162a aarch64: mmu: be more paranoid about frame allocation/clearing 2022-02-12 17:50:45 +09:00
K. Lange
1695ca6652 aarch64: traceback: fix incorrect base pointer on manual traceback 2022-02-12 17:50:21 +09:00
K. Lange
595727be1d aarch64: virtio: make sure irq handler symbols are in our table for debugging 2022-02-12 17:49:58 +09:00
K. Lange
ae28f8f832 aarch64: fixup warning about discarded volatile 2022-02-12 13:49:32 +09:00
K. Lange
33f0204c0a aarch64: mmu: fix up insufficient locking around mulitlevel page mapping 2022-02-12 13:47:22 +09:00
K. Lange
41bdb25715 aarch64: remove superfluous reload of TTBR1 2022-02-12 13:47:22 +09:00
K. Lange
f6d0206059 aarch64: interrupt mapping improvements, chained interrupt handlers 2022-02-12 13:47:21 +09:00
K. Lange
b95f27dc60 aarch64: Add a tty driver for the pl011 uart 2022-02-11 11:55:36 +09:00
K. Lange
85274e61ad aarch64: cleanup 2022-02-11 11:54:28 +09:00
K. Lange
8062fdda17 aarch64: fix mmu_first_n_frames since ram moved 2022-02-09 23:14:50 +09:00
K. Lange
a72352d163 aarch64: start work on interrupt dispatch 2022-02-09 21:02:00 +09:00
K. Lange
8c7e6209f4 aarch64: increase inital stack size for kernel startup 2022-02-09 21:01:26 +09:00
K. Lange
b55964e451 aarch64: flip smp mutex after doing init for better startup synchronization 2022-02-09 21:01:09 +09:00
K. Lange
2c5a6db126 procfs: avoid crashes on empty module, filesystem tables 2022-02-07 12:47:58 +09:00
K. Lange
1ed8ba466c aarch64: Actually reset kernel stack on exec 2022-02-07 12:46:13 +09:00
K. Lange
82090737dd aarch64: basic kernel tracebacks on el1-el1 fault 2022-02-07 12:38:30 +09:00
K. Lange
9f03252e3a aarch64: Load kernel symbol table 2022-02-06 21:23:35 +09:00
K. Lange
e1e66bf6cd aarch64: be more flexible about where the kernel is physically 2022-02-06 21:10:20 +09:00
K. Lange
097662ef3d x86_64: fix segfault not being delivered due to cow regression 2022-02-06 15:04:21 +09:00
K. Lange
92ae583c5b aarch64: smp: reorder barriers before enabling MMU 2022-02-03 17:48:51 +09:00
K. Lange
3368796328 aarch64: retrieve MIDR per-core 2022-02-03 08:27:33 +09:00
K. Lange
07e97e2784 aarch64: A better memcpy for arm 2022-02-03 08:15:02 +09:00
K. Lange
afab2320bf aarch64: SMP 2022-02-03 00:08:47 +09:00
K. Lange
187b331e9e ptrace: fix delivery of final signals, improve dbg 2022-02-02 20:53:23 +09:00
K. Lange
4c04e01f61 aarch64: basic tracing support 2022-02-02 20:52:56 +09:00
K. Lange
ca7c67ca5d aarch64: signal delivery 2022-02-02 17:37:09 +09:00
K. Lange
7238f0f2a5 aarch64: virtio: bind more keys, scroll wheel 2022-02-02 16:11:35 +09:00
K. Lange
10010578bf aarch64: Fixup cpuinfo, improve cpu-name 2022-02-02 13:22:20 +09:00
K. Lange
79bd90e44c aarch64: Start calling this 2.1.0 2022-02-02 12:56:55 +09:00
K. Lange
0bb91b0edb aarch64: split up assembly, add more comments 2022-02-02 12:49:04 +09:00
K. Lange
18a4e78336 aarch64: More cleanup 2022-02-02 12:08:44 +09:00
K. Lange
d3b4b6fab2 aarch64: virtio input devices, nearly complete 2022-02-01 17:06:07 +09:00
K. Lange
e8d78f00fc aarch64: reorganize 2022-02-01 13:27:49 +09:00
K. Lange
981d578ad3 aarch64: Initial timer interrupt support 2022-02-01 13:01:59 +09:00
K. Lange
fb578d9ae5 aarch64: procfs things 2022-02-01 08:29:01 +09:00
K. Lange
bf40d8f289 aarch64: some memory size management 2022-02-01 06:54:59 +09:00
K. Lange
f0d7ed7743 aarch64: fixup clone(), add mmu_free(), cache stuff for ld.so 2022-01-31 21:08:11 +09:00
K. Lange
c3311fe272 insmod: not available on aarch64 yet 2022-01-30 21:35:46 +09:00
K. Lange
4f510c7fef x86_64: fixup include paths; mmu.h is shared now 2022-01-30 21:28:10 +09:00
K. Lange
b53a56fe72 aarch64: begin work on new target 2022-01-30 21:25:27 +09:00
K. Lange
442d61ae5e gzip: Some const correctness maybe helps 2022-01-12 18:52:52 +09:00
K. Lange
19508075e4 kernel: Don't mark process running if it is exiting... 2022-01-08 17:44:39 +09:00
K. Lange
d7595b2b81 v2.0.1 2022-01-04 08:35:14 +09:00
K. Lange
cac1eca676 kernel: extend kernel heap sbrk sanity check
We use sbrk() to set up the memory for physical page
reference counting, and the previous limit was causing
panics on boot with >60GB of RAM. Oops.
2021-12-12 12:55:09 +09:00
K. Lange
0d9dbb80fc base: Prepare for 2.0.0 2021-12-06 11:32:23 +09:00
K. Lange
0c6f58277c v1.99.10 2021-12-01 21:32:59 +09:00
K. Lange
345a6312db kernel: Possibly fix sporadic lockup in compositor? 2021-12-01 20:17:55 +09:00
K. Lange
658ae81f65 kernel: cleanup things introduced in COW 2021-12-01 09:19:25 +09:00
K. Lange
18174e46de kernel: Implement basic copy-on-write for fork() 2021-11-30 22:26:45 +09:00
K. Lange
de0bda736a kernel: at least add full lead comments to everything 2021-11-26 11:31:10 +09:00
K. Lange
c572a5c148 kernel: clean up kernel/arch/x86_64/{cmos,pit}.c 2021-11-26 11:05:46 +09:00
K. Lange
574267fd1a kernel: cleanup kernel/generic.c 2021-11-26 10:29:28 +09:00
K. Lange
e6313efcfc kernel: cleanup kernel/arch/x86_64/user.c 2021-11-26 10:28:23 +09:00
K. Lange
35423ecc66 kernel: cleanup kernel/arch/x86_64/smp.c 2021-11-26 10:27:39 +09:00
K. Lange
80cf1a1f15 kernel: cleanup kernel/arch/x86_64/idt.c 2021-11-26 09:52:05 +09:00
K. Lange
5b16cd6ce4 kernel: bad ordering of list insert / wakeup caused crashes 2021-11-24 17:34:06 +09:00
K. Lange
ade7d13707 x86_64: fixup bad memory walk when doing backtraces 2021-11-24 17:33:38 +09:00
K. Lange
045431b2de kernel: prevent modules from being loaded multiple times 2021-11-18 19:47:28 +09:00
K. Lange
fb30aae90d tarfs: throw EROFS on create 2021-11-17 19:18:56 +09:00
K. Lange
d90d6e1963 kernel: Add simple mutex with a wait queue 2021-11-17 19:13:33 +09:00
K. Lange
f3759daadf ioctl: request should be 'unsigned long' 2021-11-15 21:51:33 +09:00
K. Lange
f7a29b90af kernel: Use local APIC timer for preemption on APs, not an IPI 2021-11-14 17:16:20 +09:00
K. Lange
697200013a v1.99.9 2021-11-09 13:28:16 +09:00
K. Lange
a5079f93b0 lfbvideo: Keep resolution set by loader if none specified by args 2021-11-05 07:53:35 +09:00
K. Lange
43b6bd32e3 kernel: exclude serial ports from pts numbering; start numbering at 1 2021-11-04 19:17:21 +09:00
K. Lange
96cb5d9c01 lfbvideo: Don't map EGA/VGA text mode range as WC as apparently things don't like that 2021-11-01 19:07:09 +09:00
K. Lange
ac35ad0bbd x86_64: Don't wrap version codename in quotes as we're doing that directly now 2021-10-30 15:24:36 +09:00
K. Lange
119c42077d kernel: Put codename string in quotes for stylistic reasons 2021-10-30 08:53:49 +09:00
K. Lange
d6fc131912 kernel: Export sys_ functions so they appear in symbol table 2021-10-28 07:51:20 +09:00
K. Lange
a83d641d2c mmu: Be more clear about what's happening when we run out of RAM 2021-10-28 07:48:25 +09:00
K. Lange
d79bf46731 fbterm: Move log to center, set bg to black 2021-10-26 16:14:38 +09:00
K. Lange
49342b7996 net: try to actually track received packet sizes... 2021-10-25 18:27:08 +09:00
K. Lange
073e43384c kmalloc: Use existing assertion infrastructure 2021-10-25 18:25:21 +09:00
K. Lange
4b62e4ab22 assert: use dprintf, not printf, when printing assertion message 2021-10-25 18:24:49 +09:00
K. Lange
465c82a5f8 irq: Mark isr_common as global so it shows up in symbol table 2021-10-25 18:23:50 +09:00
K. Lange
1bb382de12 kernel: Print gs alongside other registers in panic 2021-10-25 18:23:33 +09:00
K. Lange
95ef9f02ac fbterm: Support 24bpp framebuffers 2021-10-25 13:50:08 +09:00
K. Lange
8839e4357c multiboot: Correctly pass bits-per-pixel from framebuffer data 2021-10-25 13:49:57 +09:00
K. Lange
f0091f8f87 ringbuffer: don't use heap allocator if buffer size is one page 2021-10-24 19:52:51 +09:00
K. Lange
591a074608 pipe: Embiggen pipe buffers 2021-10-24 19:39:42 +09:00
K. Lange
e3b713487c pipe: Make pipes more direct with ring buffer usage 2021-10-24 18:12:20 +09:00
K. Lange
ca8fc639db kernel: Fix gdt install clobbering symbol table, or whatever else ends up after it 2021-10-24 16:23:56 +09:00
K. Lange
ce1e9b4e03 socket: Purge rx queue when socket closes? 2021-10-23 12:42:48 +09:00
K. Lange
8b363c878b mmu: Fixup mapping for physical memory address >4GiB 2021-10-23 12:19:41 +09:00
K. Lange
1ed5ea6404 net: net_udp_send() should return size of data sent 2021-10-22 15:39:21 +09:00
K. Lange
f300386d13 net: initial loopback interface support 2021-10-22 15:36:03 +09:00
K. Lange
3decb96169 v1.99.8 2021-10-21 11:18:42 +09:00
K. Lange
08820eca71 kernel: oops 2021-10-21 09:35:02 +09:00
K. Lange
bf6d5f765d kernel: make_process_ready may be called with sleep_lock already acquired? 2021-10-21 08:48:26 +09:00
K. Lange
55835ab494 fbterm: Only enable scrolling by default on vga terminal 2021-10-20 19:39:47 +09:00
K. Lange
1efc36e51a kernel: Fixup bad lock ordering in process_awaken_signal 2021-10-20 19:37:31 +09:00
K. Lange
b6caef5d7e x86_64: Cleanup boot messages to fit in vga text mode better 2021-10-20 18:49:40 +09:00
K. Lange
0f2d7334b0 fbterm: VGA backend, enable scrolling by default 2021-10-20 18:49:07 +09:00
K. Lange
038727eb1a x86_64: Support multiboot2 loaders 2021-10-20 16:03:05 +09:00
K. Lange
043b3797f7 x86_64: Mark kernel with AOUT_KLUDGE address parameters so the 64-bit ELF can be booted directly 2021-10-20 16:02:46 +09:00
K. Lange
76191f89fb kernel: Print tracebacks for more fatal errors 2021-10-20 10:33:58 +09:00
K. Lange
32c3bf1825 insmod: Support passing arguments to modules 2021-10-20 10:33:35 +09:00
K. Lange
c366ea2dfd kernel: Initial pass at new debug printf interface 2021-10-19 20:29:14 +09:00
K. Lange
7ce16a005d net: Oops, we broke UDP sends 2021-10-13 10:50:05 +09:00
K. Lange
526c8fc55e smp: allow command line override for where to scan for RSDP 2021-10-12 22:23:58 +09:00
K Lange
751f78ef2f net: don't explode without a network 2021-10-12 21:15:44 +09:00
K. Lange
a8ca76845c smp: Don't just fatal() if there's too many cores; initialize up to 32 2021-10-12 20:04:38 +09:00
K Lange
72825a7d46 lfbvideo: recalculate vmware memory size on display change 2021-10-09 22:06:31 +09:00
K. Lange
05e224dee7 kernel: Better fault reports 2021-10-04 20:34:42 +09:00
K. Lange
495d1a196a kernel: Use 'Misaka' as the system named presented by the kernel 2021-09-30 10:37:46 +09:00
K. Lange
1f0d982240 kernel: Initial try at actual user buffer validation 2021-09-29 14:07:32 +09:00
K Lange
62368bbf44 tcp: Fixup socket receive buffers 2021-09-27 21:09:28 +09:00
K. Lange
fe6402ba18 v1.99.7 2021-09-27 15:31:47 +09:00
K. Lange
0caa949550 ptrace: Inform non-parent tracer when tracee exits 2021-09-25 07:16:47 +09:00
K Lange
aa8fdab570 ptrace: support tracing from non-parent process 2021-09-24 19:15:06 +09:00