summaryrefslogtreecommitdiff
path: root/src/sys/arch
AgeCommit message (Collapse)Author
2025-09-15kern/amd64: Improve ioapic_read_madt() scalabilityIan Moffett
This commit improves the scalability of ioapic_read_madt() while retaining as much simplicity as possible. - Add callback argument - Add optional argument to callback ioapic_read_madt() now returns the value given back by a callback. 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/amd64: Add interrupt descriptor table coreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: mmu: Add creddit blockIan Moffett
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/amd64: mmu: Enable support for 5-level pagingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-14kern/amd64: mmu: Use CR4 not CR0 for CR4.L57Ian 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: cpu: Add routine to get current coreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-14project: Correct copyright authorIan 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-14build: Do not have per subsystem libsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13os/amd64: Add panic()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13build: Link with kernel libstringIan 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: Define the GDTIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13kern/amd64: cpu: Remove trailing newlineIan 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-13kern/amd64: Move locore.S to mainbus/Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13project: Remove empty linkIan 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>
2025-09-13kernel: Add kern_init.cIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13kernel/i386: locore: Initialize stackIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13sys/i386: locore: Add fbtag and endtagIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13initial sourcesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>