summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-09-23kern: security: Add initial support for MACIan Moffett
This commit introduces initial support for mandatory access control. As one may recall, L5 follows "everything is memory". In order to interact with a resource, a process must request it from the kernel in the form of a (sometimes) syncable memory buffer. Each resource as well as processes have an access level, if a process attempts to request a resource with a higher access level than it, the request is rejected by the kernel. However, if a process has a greater than or equal access level as a resource, the request can be granted. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-23kern/amd64: proc: Deallocate mapped frames on exitIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-23usr/amd64: Discard .eh_frame and .note sectionsIan Moffett
These sometimes cause issues so we are better off just stripping them from the final binary. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-23build: Properly copy to / clean up iso_rootIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-23build: Use silent builds in toplevel MakefileIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-23build: Use iso_root/ for iso generationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: ahci: Bring up ports via COMRESETIan Moffett
As we rely on resetting the controller via GHC.HR, we'll need to re-establish a link with each implemented port to actually bring them online. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: ahci: Replace printf calls with dtrace()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: ahci: Include missing io/dma/alloc.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: ahci: Add initial port bring-up logicIan Moffett
This commit introduces this initial bring-up logic for ports on the HBA. We have allocated the command headers and each FIS RX area for each respective command slot. More work to be done but this lays the groundwork Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: ahci: Fix typo in dtrace() macroIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: dma: Zero new memory by defaultIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: ahci: Keep track of number of command slotsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: ahci: Add further ahcivar.h defs for FIS/HDRIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-22kern: dma: Add DMA address helpersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: omar: Implement image-like lookup VOPIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: Mount root filesystem in vfs_init()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: vfs: Add support for image-like pathsIan Moffett
Typically filesystems are tree-like, however certain filesystems in the form of images have fixed paths baked into them. This optimizes handling so there isn't a need to unpack it into a rootfs/tmpfs Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: vnode: Add filesystem specific data to vnodeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21sys: vnode: "driver" -> "filesystem"Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: vfs: Add lookup by name helperIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: ahci: Only support 64-bit HBAs for nowIan Moffett
Abort if the host controller does not support 64-bit addressing Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: ahci: Add initial port startup logicIan Moffett
Here we ensure that the port is in a stopped state, we have also added port descriptor lists to keep track of each port. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: ahci: Scan for implemented ports with PI regIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: bus: Simply return bus_space, don't remapIan Moffett
As of now, the bootloader handles setting up the MMIO regions and we'll need huge page support (2 megs) for reassigning MMIO space Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21sys: Add bit operations headerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: ahci: Add debug tracingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: ahci: Ensure HBA is in AHCI-mode after resetIan Moffett
The global host control register (described by section 3.1.2 in the AHCI spec) has an HBA reset bit which resets *everything* to a known state. This means that after the reset, we'll have to indicate to the HBA that we want to speak to it over the AHCI interface. We do it once before the reset if needed, then we do it again after. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: ahci: Add AHCI host bus adapter reset implIan Moffett
This commit introduces this initial ahci_init() logic by resetting HBA state on startup. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: ahci: Add AHCI register headerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: clkdev: Add callback to get elapsed timeIan Moffett
Add new clock device callback to get the elapsed time from the timer being initialized, in microseconds. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21sys: sysvar: Bump L5 version to v0.0.3Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern/amd64: hpet: Register HPET with clkdevIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-21kern: Introduce clock device frameworkIan Moffett
This commit introduces a new framework we call "clkdev". It is used to keep track of the clock sources on the system and be able to fetch them later based on specific attributes. 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-20kern: Initialize ACPI before cpu_conf() callIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: acpi: Add HPET table to acpi/tables.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20build: Build 'lib' before userlandIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20build: Ignore *.a filesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: syscall: Add initial write(2) stubIan Moffett
Here we add a write(2) stub and add it to the UNIX syscall interface. We also move the UNIX syscall numbers into compat/unix/syscall.h Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: proc: Add address checking routineIan Moffett
Add routine to check if an address is valid within a process's address space. More work will need to be done with this but this introduces a great starting point Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: cons: Constantly update ch x/y in loopIan Moffett
If we do not do this, we'll get stale x/y values the the characters will never advance position when using multichar strings Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: proc: Move sys_exit() to sys/compat/unix/*Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: pci: Add bus framework and PCI BAR mapperIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: pci: Assume error if barreg is zeroIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: pci: Add further info of pci_bus_lookup()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: pci: Add PCI_BAR_IO() checker in pci/cam.hIan Moffett
The PCI_BAR_IO() checks if the BAR is an I/O type BAR. The value 1 is returned if true, otherwise 0 if it is a memory type BAR. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern/amd64: mmu: Add page-level cacheability attrsIan Moffett
This commit adds support for page-level cacheability attributes. We have added the pmap_set_cache() as well as some MMU_CACHE_* bits Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: pci: Ensure lookup data is copied on attachIan Moffett
When an attached device is detected, the driver will need information about the PCI device for the bring up process. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20docs: readme: Add PCI to progressIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>