aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-04docs: Add meta-rip(1) manpagesigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/docs: Add syslog(9) manpagesigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04docs: Move kernel manpages to share/man/man9/sigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04docs: Add mmio(9) manpagesigsegv7
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-04docs: Add share/man for manpagessigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-04kernel/amd64: Cleanup frame macrossigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-10-01tools: docs: Update copyrightsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-30kernel/amd64: machdep: Enable spectre mitigationsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-30tools: ksyms: Include header guardssigsegv7
This commit makes the output header from tools/ksyms contain header guards 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-28tools: Trim leading spaces from metadatasigsegv7
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-26build: Use limine v5.xsigsegv7
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-20docs: Remove extra newline from READMEsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-20docs: Add READMEsigsegv7
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>
2023-09-20kernel: Fixup errno.hsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-17kernel/amd64: Add Local APIC driversigsegv7
This commit introduces the initial Local APIC driver sources Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-16build: Update author namesigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-15kernel: dev: Add extra HPET sleep functionssigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-15kernel: dev: Create hpet_sleep() helpersigsegv7
Sleep functions may wrap this helper to simplify their implementation. Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-15kernel: dev: Handle faulty HPET in msleep routinesigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-15kernel: dev: Add HPET driversigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-15kernel: syslog: Add KERR() macrosigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-15kernel: Refactor headerssigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-15kernel/amd64: Add msr.hsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-15kernel/amd64: Add cpuid.hsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>