aboutsummaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2024-01-10kernel/amd64: machdep: Add pre_init()Ian Moffett
This commit introduces a pre_init() function for setting up things that processor_init() may depend on Signed-off-by: Ian Moffett <ian@osmora.org>
2024-01-01project-wide: Make copyright year a rangeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-01-01project-wide: Update copyright yearIan Moffett
Happy new year!! Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-28kernel/amd64: cpu: Ensure `bsp_info' is zero'dIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-28kernel/amd64: trap: Fix stack misalignmentIan Moffett
Some traps have error codes and others don't... Fix inconsistent error code handling. Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-25kernel/amd64: machdep: RefactorIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-25kernel/amd64: lapic: Refactor includesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-25kernel/amd64: lapic: Fix APIC Timer IDT entry typeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-25kernel/amd64: lapic: Add initial LAPIC Timer logicIan Moffett
The commit adds the initial Local APIC timer support in Hyra... However, the interrupt service routine is a stub and needs to be completed. 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: lapic: Refactor namesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2023-12-19kernel/amd64: Re-organize AMD64 filesIan Moffett
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-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-13kernel/amd64: tss: Add TSS stack helpersIan Moffett
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/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/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-11-24kernel: Fixup VM header namingIan 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: 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: vm: Add PMAP abstractionsigsegv7
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: 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-09-30kernel/amd64: machdep: Enable spectre mitigationsigsegv7
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-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-20kernel/amd64: Add stub LAPIC timer supportsigsegv7
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-14kernel/amd64: Improve docssigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-14kernel/amd64: Add I/O APIC pin mask/unmask logicsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-14kernel/amd64: Introduce initial I/O APIC supportsigsegv7
Signed-off-by: sigsegv7 <ian@vegaa.systems>
2023-09-12kernel: fix include bugsigsegv7