summaryrefslogtreecommitdiff
path: root/sys/include/arch
AgeCommit message (Collapse)Author
2024-03-13kernel/amd64: cpu: Add fxsave/fxrstor helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-11kernel/amd64: Add control register r/w helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-10kernel/amd64: trap: Add stack-segment fault ISRIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-07kernel: sched: Add support for user threadsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-29kernel/amd64: frame: Add missing includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-26kernel/amd64: Drop 'asm' directoryIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-26kernel/amd64: lapic: Add support for sending EOIsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-24kernel/amd64: cpu: Fix logic bugIan Moffett
This commit fixes a logic bug in amd64_isr_intr_mask(). We want to return a bool that indicates if interrupts are masked (bit 9 of rflags unset) Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-23kernel/amd64: frame: Add macro to init trapframeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-23kernel/amd64: frameasm: Add missing registerIan Moffett
This commit fixes a bug in pop_trapframe_ec, in which a register was missing. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-22kernel/amd64: lapic: uint32_t -> size_tIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-22kernel/amd64: Create per-processor context storageIan Moffett
This commit introduces per-processor context storage within the IA32_KERNEL_GS_BASE MSR Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-18kernel/amd64: trap: Remove useless functionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-15kernel/amd64: cpu: Prefix machdeps with cpu_Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-14kernel: cpu: Add hint_spinwait()Ian Moffett
This commit introduces a macro that must exist per architecture (even if it does nothing) to ensure it is machine independent. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-14kernel/amd64: hpet: HPET is architecture specificIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-11kernel: sched: Add initial sched related codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-04kernel/amd64: lapic: Add support for sending IPIsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-01-17kernel: Add serial logging supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-01-12kernel/amd64: vas: Add more documentationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-01-12kernel/amd64: asm: Add vmem tlb headerIan Moffett
Add TLB header to facilitate TLB cache operations 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-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-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-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-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-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-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: Add PMAP abstractionsigsegv7
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-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>