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
|
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 |
|
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
|
8839e4357c
|
multiboot: Correctly pass bits-per-pixel from framebuffer data
|
2021-10-25 13:49:57 +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
|
8b363c878b
|
mmu: Fixup mapping for physical memory address >4GiB
|
2021-10-23 12:19:41 +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
|
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
|
c366ea2dfd
|
kernel: Initial pass at new debug printf interface
|
2021-10-19 20:29:14 +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
|
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
|
05e224dee7
|
kernel: Better fault reports
|
2021-10-04 20:34:42 +09:00 |
|
K. Lange
|
1f0d982240
|
kernel: Initial try at actual user buffer validation
|
2021-09-29 14:07:32 +09:00 |
|
K. Lange
|
41ba264cdc
|
ptrace: PTRACE_SINGLESTEP
|
2021-09-24 14:41:17 +09:00 |
|
K. Lange
|
c8a37456ec
|
ptrace: POKEDATA, permission fixes for PEEKDATA
|
2021-09-24 12:00:46 +09:00 |
|
K. Lange
|
470b2bfabb
|
ptrace: Catch signals, start work on debugger
|
2021-09-22 20:32:21 +09:00 |
|
K. Lange
|
6899683bb4
|
strace: Initial support for a ptrace() mechanism, strace tool
|
2021-09-22 15:33:02 +09:00 |
|
K. Lange
|
aabbde7877
|
net: another batch of rewrites
|
2021-09-17 21:03:53 +09:00 |
|
K. Lange
|
c24d743740
|
mmu: Reserve a few more initial PTs so we can support 64GiB of memory
|
2021-09-13 09:39:04 +09:00 |
|
K. Lange
|
04b21aed13
|
mmu: Actually read multiboot mmap data
|
2021-09-12 22:40:29 +09:00 |
|
K. Lange
|
e87f09a1b4
|
piix4: move to module, only load in virtualbox
|
2021-09-09 12:22:30 +09:00 |
|
K. Lange
|
a941c3a20d
|
pci: Implement PIIX4 PIRQ remapping
|
2021-09-06 21:03:00 +09:00 |
|
K. Lange
|
8a944f4a83
|
smp: Co-opt Multiboot's config_table member to sneak ACPI tables to kernel
|
2021-09-06 19:46:36 +09:00 |
|
K. Lange
|
3a08644de6
|
kernel: Higher resolution CpuPermille
|
2021-09-05 14:05:37 +09:00 |
|
K. Lange
|
f41c0717b5
|
kernel: Track relative CPU usage over one-second spans
|
2021-09-03 10:17:10 +09:00 |
|
K. Lange
|
efec80cb38
|
times: rudimentary support for process times
|
2021-09-02 23:08:18 +09:00 |
|
K. Lange
|
6eaeff3451
|
smp: Force userspace preemption on other cores.
|
2021-09-02 21:38:30 +09:00 |
|
K. Lange
|
1d4fbc41b3
|
kernel: Should not need to use temporary buffer for fxsave/rstr
|
2021-09-02 18:04:44 +09:00 |
|
K. Lange
|
a77d0ef85a
|
smp: Memory invalidation fixes
|
2021-09-01 19:55:00 +09:00 |
|
K Lange
|
403b1ecfcb
|
serial: should be owned by 'dialout' group
|
2021-08-31 22:40:49 +09:00 |
|
K. Lange
|
61b7444192
|
kernel: restore debug prints for a page fault in the kernel, since SMP failures are rare now
|
2021-08-20 17:14:40 +09:00 |
|
K. Lange
|
91efdaa9f7
|
xhci: convert to module
|
2021-08-08 16:37:19 +09:00 |
|
K. Lange
|
236c8bacb3
|
modules: Reimplement loadable kernel modules
|
2021-07-17 18:55:54 +09:00 |
|
K. Lange
|
8e4640e1d7
|
xhci: start on controller driver
|
2021-07-14 10:44:46 +09:00 |
|
K. Lange
|
a2d63a6125
|
ps2hid: Fixup initialization sequence; unbreaks scrollwheel in vbox
|
2021-07-08 18:46:04 +09:00 |
|
K. Lange
|
886d1afe9e
|
net: various
|
2021-06-18 20:08:33 +09:00 |
|
K. Lange
|
2eb83c5ecd
|
ps2hid: give up on PS/2 if trying to empty input buffer doesn't work after 1024 tries
|
2021-06-13 15:59:14 +09:00 |
|
K. Lange
|
698a3c0cb7
|
kernel: change signatures for vfs interfaces to match reality
|
2021-06-06 20:28:21 +09:00 |
|
K. Lange
|
5ed9033d15
|
kernel: opportunistically map stack space
|
2021-06-06 15:54:30 +09:00 |
|
K. Lange
|
d5f3a41675
|
i965: modeset a thinkpad
|
2021-06-03 21:02:09 +09:00 |
|
K. Lange
|
efe72fa8ab
|
smp: do not try to send IPIs when we have one core and no lapic
|
2021-06-03 21:01:23 +09:00 |
|
K. Lange
|
6e3e7c7e0c
|
ksym: start organizing kernel symbols for linking
|
2021-06-03 21:00:56 +09:00 |
|
K. Lange
|
afd23c0beb
|
smp: ACPI checksups are more of a suggestion
|
2021-06-03 18:41:41 +09:00 |
|
K. Lange
|
e22d6d84a4
|
kernel: add 'assert()'
|
2021-06-02 18:35:03 +09:00 |
|
K. Lange
|
b0ca69afbb
|
idt: Track core interrupt registers because arch_fatal() usually happens with bad stack data
|
2021-06-01 22:39:30 +09:00 |
|