summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
AgeCommit message (Collapse)Author
2024-02-23kernel/amd64: machdep: Remove useless declIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-22kernel/amd64: lapic: Set timer routineIan Moffett
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-22kernel/amd64: machdep: Unmask interruptsIan Moffett
This commit unmasks maskable interrupts within the processor_init() routine for the AMD64 port. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-22kernel/amd64: machdep: Isolate BSP-only callsIan Moffett
Some routines are to be called on the BSP only during processor startup, this commit isolates them for the BSP onto in pre_init() Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-20kernel/amd64: trap: Dump regs upon exceptionIan Moffett
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-18kernel/amd64: hpet: Remove extra whitespaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-18kernel/amd64: hpet: Use hint_spinwait()Ian Moffett
This commit completes a TODO in the HPET driver Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-18kernel/amd64: machdep: Init HPET only onceIan 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/amd64: hpet: HPET is architecture specificIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-11kernel/amd64: acpi: Fetch LAPIC base separateIan Moffett
This commit creates a acpi_get_lapic_base() so we don't have to parse the MADT each time we want the Local APIC base. 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-05kernel/amd64: lapic: Fix icr_lo overflow bugIan Moffett
Somehow icr_lo was a uint8_t which is obviously not right and would cause overflow bugs. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-05kernel/amd64: lapic: Conform to styleIan 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-02-04kernel/amd64: lapic: Remove redundant whitespaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-04kernel/amd64: lapic: Extend r/w width to 64 bitsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-01-17kernel: vm: Init virtual memory in pre_init()Ian 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-13kernel/amd64: pmap: Add pmap_unmap()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-01-12kernel/amd64: pmap: Document PTE flags furtherIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-01-12kernel/amd64: pmap: Add pmap_map() routineIan Moffett
Add pmap_map() routine for creating virtual memory mappings. Signed-off-by: Ian Moffett <ian@osmora.org>
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>