aboutsummaryrefslogtreecommitdiff
path: root/sys/include
AgeCommit message (Collapse)Author
2023-12-25kernel: timer: Add microseconds supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-23kernel/amd64: cpu: Add interrupt helper routineIan Moffett
This commit adds a helper that allows checking if maskable interrupts are disabled on the current core. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-21build: Update build constant OS prefixesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-19kernel: cdefs: Add extra helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-19kernel/amd64: lapic: Fixup LAPIC state trackingIan Moffett
This commit removes the lapic_set_base() function and certain globals from the Local APIC driver so it won't cause problems on hardware with many CPU sockets or that is just wacky. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-19kernel/amd64: isa: Add i8254 driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-19kernel/amd64: io: Add I/O helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-17kernel/amd64: trap: Fix stack issuesIan Moffett
This fixes a bug relating to a lack of error code (pushed by hardware) misaligning the stack. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-17kernel/amd64: frame: Seperate ASM from C headerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-15docs: man: Create virtual memory related manpagesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel: vm: Ensure calls are serializedIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel: vm: `cpu_vm_ctx' -> `vm_ctx'Ian Moffett
This commit cleans up the naming of the `cpu_vm_ctx' as it already implies it is per core Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel: vm: Add support for dynalloc pool resizeIan Moffett
This commit creates a wrapper that allows resizing of a memory pool created by dynalloc() Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel/amd64: intr: Add Interrupt Stack definesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-13kernel/amd64: tss: Add TSS stack helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
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: 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-12kernel: lib: Fix warnings with __assert()Ian 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: 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-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: 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-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: Add spinlock to cpu_infosigsegv7
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: 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-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-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>