summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2024-05-24kernel/amd64: pmap: Fix check for listed CPUsIan Moffett
Only perform a TLB shootdown if the number of cores listed is greater than one. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel/amd64: trap: Handle cleanup before signalIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel/amd64: Log messages during user faultsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel: syslog: Add kernel message bufferIan Moffett
This commit introduces the kernel message buffer and makes system messages no longer be written to the TTY after kernel init. The kernel message buffer can be read from /proc/kmsg Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel/amd64: mp: APICTMR -> LAPIC-TMRIan Moffett
"LAPIC-TMR" seems cleaner than "APICTMR" Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel/amd64: pmap: Add support for TLB shootdownsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel/amd64: pmap: Add pmap_init()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel/amd64: isa: Add i8042 IRQ statIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel/amd64: mp: Add local timer statIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-23kernel/amd64: mp: Don't allocate seperate ciIan Moffett
The machdep layer already handles this Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-21kernel: Initial sched rewriteIan Moffett
- Introduce dynamic scheduling policy - Introduce MLFQ scheduling - Clean up a lot of code Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-19kernel: Add reboot() and reboot syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-18kernel: tty: Handle input processing betterIan Moffett
- Fix copying logic in tty_read() - Handle ICANON correctly - Add ECHO c_lflag bit - Add TTY_SOURCE_DEV and TTY_SOURCE_RAW defines Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-18kernel: tty: Handle ICANONIan Moffett
Add basic handling for canonical mode Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-17kernel/amd64: machdep: Beep based on kernel configIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-17build: Introduce kconf for kernel configurationIan Moffett
The kernel will be configured by a per-arch config file. The config file for the AMD64 port exists at sys/arch/amd64/conf/GENERIC Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-15kernel/amd64: machdep: Cleanup processor_init()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-14kernel/amd64: Fix early panic triple faultIan Moffett
Check for a valid CPU structure and ensure the Local APIC base address has been set before trying to broadcast IPIs Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-14kernel/amd64: machdep: Reorganize functionsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-14kernel: machdep: Add machine_panic() + panic beepIan Moffett
machine_panic() handles things like backtracing, beeping the speaker and halting the processor. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-14kernel: isa: Add pcspkr supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-12kernel/amd64: i8042: Prevent blinking capslock LEDIan Moffett
Holding down the caps-lock key would result in the LED blinking rapidly which is obviously not normal. This commit corrects that behavior. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-12kernel/amd64: isa: Add i8042 driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-07kernel/amd64: trap: Remove unnecessary whitespaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-07kernel/amd64: tss: Ensure stacks are alignedIan Moffett
When allocating a kernel stack, ensure it is aligned on a 16-byte boundary. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-07kernel/amd64: trap: Temporarily disable interruptsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-30kernel/amd64: machdep: Add cpu_halt_others()Ian Moffett
Halts all other processors except self Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-28kernel/amd64: ioapic: Add ioapic_set_vec()Ian Moffett
Add helper to set vector in a redirection table entry Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-26kernel/amd64: syscall: Allow RIP/RSP to be resetIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-20kernel: vm: Add initial demand paging supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-10kernel/amd64: trap: Send signals to threadIan Moffett
Send SIGSEGV, SIGFPE, etc to the thread instead of panicking if it is running in userland Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-09kernel/amd64: tss: Remove useless whitespaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-09kernel/amd64: Add backtrace support for panic()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-07kernel/amd64: syscall: Set IP in syscall_argsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-06kernel/amd64: lapic: Remove unused includesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-26kernel/amd64: tss: Do not allow userspace port I/OIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-25kernel/amd64: Remove "AP bootstrap done" messageIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-24kernel/amd64: machdep: Init PCI driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-19kernel: syscall: Fix syscall orderIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-16kernel,libc: syscall: Improve syscall codeIan Moffett
- Remove the SYS_debug syscall - First syscall starts at 1 Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-16kernel: syscall: Remove syscall_args.retIan Moffett
It is better to just return a value within the syscall handler and have that passed down to __syscall() like that Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-14kernel: Add support for syscallsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-14kernel/amd64: pmap: Add pmap_free_vas()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: machdep: Add processor_free_pcb()Ian Moffett
Add routine to deallocate resources within the process control block. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: machdep: Check for NULL instead of 0Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: machdep: Add context switch helperIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: machdep: Add pcb init codeIan Moffett
This commit adds a processor specific routine which sets up the Process Control Block for a thread Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: machdep: Remove extra whitespaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: trap: Update panic messageIan Moffett
We have a scheduler now, this old message does not make sense. So it is replaced. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: spectre: Log only onceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>