summaryrefslogtreecommitdiff
path: root/src/sys/include/arch
AgeCommit message (Collapse)Author
5 daysnp: piir: Add bitmap based register allocationIan Moffett
Introduce register allocation via a bitmap where each bit corresponds to a specific register index. Signed-off-by: Ian Moffett <ian@osmora.org>
6 daysnp: backend: Add backend pirho sourcesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern/amd64: cpu: Add CPU halt ISR for IPIsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern/amd64: Support APIC inter-processor interruptsIan Moffett
This commit introduces support for sending inter-processor interrupts on the mainbus to other cores on the machine. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern/amd64: Add initial HPET driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-17kern: Add syscall entry and SYS_exit syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kern/amd64: mdcpu: Document GDT fields in mdcoreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kern/amd64: cpu: Make GDT per-cpu to match TSSIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kern/amd64: proc: Store trapframe in PCBIan Moffett
Store a trapframe in the process control block so that state may be saved and restored between contexts Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kern: proc: Add initial proc init + PCB codeIan Moffett
This commit introduces the initial logic for putting process descriptors in an initialized state. This commit also introduces the process control block definition. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: lapic: Add LAPIC timer supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: intel: Add i8254 PIT driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kernel/amd64: Add task state segment logicIan Moffett
This commit implements the task state segment and splits up processor initialization into two seperate stages. The cpu_conf() function is apart of the first stage and sets up things that should be going by the time the kernel is started / early init. The cpu_init() function runs later functions that initialize further platform specific subsystems. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: lapic: Initialize percore Local APICIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: ioapic: Add IRQ to vector routingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: Add I/O APIC initialization codeIan Moffett
This commit introduces the initial I/O APIC driver code that does basic initialization i.e., grabbing base address from MADT, masking each pin, etc. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: boot: Disable the i8259 chip on bootIan Moffett
To avoid interrupt conflicts on some machines with the I/O APIC, disable the legacy i8259 chip by default Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: Add exception handlersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern: Add traprame related MD headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: Add interrupt descriptor table coreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15os/amd64: Reduce coupling with VAS structureIan Moffett
This commit moves the VAS structure into a standard MD layer side and makes it accessible through a standard MI layer header. This indirection reduces coupling so that the codebase wont break if a name change or anything is needed. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15os/amd64: Make MMU header standard per archIan Moffett
Lunos's virtual memory system is split into two parts, the machine dependent MMU layer and the machine independent layer. The MMU side exposes a standard bridge header that allows the MI layer to interface with the MD layer. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-14kern: Add sys/mman.h and generic prot flagsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-14kern: vm: Implement page mapping and VASesIan Moffett
This commit implements an interface to allow other parts of Lunos to talk to the MMU: - Added the 'vas' structure as the virtual address space - Added MMU specific prot flags - Added mmu_map_single() to map pages - Added mmu_this_vas() to grab the current VAS ... Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-14kern/amd64: Add Model Specific Register helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-14kern/amd64: vm: Add initial MMU skeleton logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13os/amd64: Add md_halt() to halt coreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13os/amd64: Add md_intoff() and md_inton()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13os/amd64: mdcpu: Add md_spinwait() macroIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13kern/amd64: Add platform and UART initIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13kern/amd64: cpu: Initialize GDTIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13os/amd64: Define CPU as pcore with MD counterpartIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13project: Use limine as headstartIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13kernel/amd64: Add port I/O helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13build: 'i386' -> 'amd64'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>