aboutsummaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2023-12-13kernel/amd64: trap: Add TRAP_NONE defineIan Moffett
This commit introduces the trap type TRAP_NONE to allow for general interrupts as they also use the `trap_frame' but are not interrupts that will occur during instruction execution. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel/amd64: machdep: Cleanup processor_init()Ian Moffett
This commit cleans up processor_init() by tidying up and reordering calls to ensure things will be set up in the correct order. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel/amd64: tss: Fix broken TSS codeIan Moffett
This commit fixes some horribly broken TSS code. It is unclear how it got this broken. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel/amd64: trap: Log instruction pointerIan Moffett
This commit adds some logic to trap_handler() which makes it show the instruction pointer from the trapframe. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel/amd64: trap: Cleanup commentsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-12kernel: lib: Fix warnings with __assert()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-12kernel/amd64: machdep: Fixup comment clarityIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-11kernel/amd64: Add Task State SegmentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-11kernel/amd64: machdep: Include missing headerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-11kernel/amd64: machdep: Add module infoIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-11kernel: init: Fixup call orderIan Moffett
Some virtual memory routines are called by processor_init()... This is a temporary workaround until these calls are moved to processor_init() Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-11kernel/amd64: Update arch(9)Ian Moffett
This commit cleans up arch(9) as a few things were noticed. First, it would make sense to identify cores (described by the cpu_info structure) in every arch ported, thus the lapic_id has been changed to id so it can be shared. Some annotations have also been added for the sake of clarity. The manpage for arch(9) has also been cleaned up. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-06kernel/amd64: lapic: Fix typoIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-11-24kernel: Fixup VM header namingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-11-24kernel: vm: Port TLSF allocatorIan Moffett
This commit adds a Two-Level Segregated Fit memory allocator port to the Hyra kernelspace. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-11-24kernel: lib: Add assert headerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-11-14kernel/amd64: lapic: Simplify LAPIC timer initsigsegv7
Signed-off-by: sigsegv7 <ian@osmora.org>
2023-11-13project-wide: Update project namesigsegv7
Update project name to avoid conflicts with the name of Amazon's new 'Vega' Smart Device Operating System. Signed-off-by: sigsegv7 <ian@osmora.org>
2023-11-12kernel/amd64: lapic: Remove ESR supportsigsegv7
ESR support should be added later on; there is no need for it as of now... Signed-off-by: sigsegv7 <ian@osmora.org>
2023-10-18kernel/amd64: lapic: Add ESR reading logicsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-18kernel/amd64: lapic: Update docssigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-18kernel/amd64: lapic: Add basic x2APIC supportsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-11kernel: vm: pmap.h -> vm_pmap.hsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-11kernel: lib: Add memset64()sigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-11kernel: vm: Create vm_init()sigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-11kernel: vm: Add PMAP abstractionsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-11kernel: vm: Add vm_zero_page() helpersigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-07kernel: vm: Add pageframe allocationsigsegv7
This commit introduces pageframe allocation logic to the Vega virtual memory subsystem. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-07kernel: vm: vm.c -> vm_init.csigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-06kernel: vm: Update header guardssigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-06kernel/docs: Add timer(9) manpagesigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-06kernel/docs: Add new conventionsigsegv7
This commit adds a new convention that requires devs to write a comment for headers that have a manpage tied to them that shows which manpage it is tied to. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Remove stray newlinesigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Add spinlock to cpu_infosigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Initialize IDT and GDT firstsigsegv7
This commit moves the interrupts_init() and gdt_load() calls to the top so interrupts are set up first in case something goes wrong so we can get information from exception handlers. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: cpu: Add metadatasigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Move metadata macros to topsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Set certain cpu_info fieldssigsegv7
This commit puts certain fields on the cpu_info structure into a known state. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Add system intvec abstractionsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Fix up BSP_KINFO logicsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Add AMD64 CPU abstractionssigsegv7
This commit adds the CPU abstraction files for AMD64. This abstraction implements CPU specific logic Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Cleanup frame macrossigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-30kernel/amd64: machdep: Enable spectre mitigationsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-28kernel: cdefs: Wrap assembly within conditionalsigsegv7
This commit wraps __KERNEL_META for .S files within a conditional. Only makes it easier to trace if on a different architecture and it is not implemented for it; however, this macro could perhaps be placed in a better header (XXX)? This should work for now. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-28kernel/amd64: Add __KERNEL_META for .S filessigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-28kernel: mmio: Add memory barriers to helperssigsegv7
This commit introduces memory barriers to MMIO read/write helpers to ensure the compiler does not re-order these critical memory accesses which would in turn result in very strange behaviour if it were to be re-ordered. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-28kernel: cdefs: Add memory barrier helpersigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-27kernel: tty_subr.c -> subr_tty.csigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-26kernel: Fix spinlock_acquire() flawsigsegv7
This commit fixes a spinlock_acquire() flaw and corrects a [quite an implausible] mistake, in which we do not even spin. It would have been fine how it was before in Vega's contemporary state; however, not a good idea to keep. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-25kernel/amd64: Add spectre mitigation supportsigsegv7
Add spectre mitigation support for AMD64 hosts which may be enabled via the --enable-spectre-mitigation configure flag. This commit currently only adds IBRS support but more techniques may be added later on. Signed-off-by: sigsegv7 <ian@vegaa.systems>