aboutsummaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
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>
2023-09-25kernel: cdefs: Add __naked macrosigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-21kernel: cdefs: Add __STATIC_ASSERT macrosigsegv7
This commit adds a __STATIC_ASSERT which wraps over _Static_assert() to be more consistent with Vega style. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20kernel/amd64: Add stub LAPIC timer supportsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20kernel: dev: Register HPET timersigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20kernel: init_main: Dump timer registrysigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20kernel: Fix typos with timer IDssigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20kernel: dev: Use errno.h error codessigsegv7
This commit makes the hpet_sleep() function return either EXIT_SUCCESS or EXIT_FAILURE instead of hardcoded constants. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20kernel: dev: Setup timer descriptor for HPETsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20kernel: Update timer routine return typessigsegv7
This commit makes msleep(), usleep(), etc, return an error code of either EXIT_SUCCESS or EXIT_FAILURE for error handling. This commit also makes the calibrate() routine return a frequency (ideally in Hz), however, it is optional and can return 0 as a way of saying it doesn't return one. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20kernel: Add timer abstractionsigsegv7
This commit introduces a new timer abstraction that is architecture-independent. It enables the registration and request of timers in a consistent and uniform manner abstracting away architectural details. Signed-off-by: sigsegv7 <ian@vegaa.systems>