100 Commits

Author SHA1 Message Date
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
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
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
afab2320bf aarch64: SMP 2022-02-03 00:08:47 +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
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
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
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
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
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
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
f7a29b90af kernel: Use local APIC timer for preemption on APs, not an IPI 2021-11-14 17:16:20 +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
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
a83d641d2c mmu: Be more clear about what's happening when we run out of RAM 2021-10-28 07:48:25 +09:00