summaryrefslogtreecommitdiff
path: root/src/sys/include
AgeCommit message (Collapse)Author
14 dayslibc: Add resource border crossing interfaceIan Moffett
Introduce a new libc cross() function which acts as a wrapper to the SYS_cross system call. Signed-off-by: Ian Moffett <ian@osmora.org>
14 dayskern: mac: Make mac_map() return ssize_tIan Moffett
The map callback within the MAC ops returns ssize_t, therefore the mac_map() wrapper should return the same Signed-off-by: Ian Moffett <ian@osmora.org>
14 dayssys: Add sys/_null.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-23usr: libc: Add libc syscall interfaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
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-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: 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: 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-21sys: Add bit operations headerIan Moffett
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: 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: acpi: Add HPET table to acpi/tables.hIan 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: 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: 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: Handle base address registers (BARs)Ian Moffett
This commit handles base address registers by storing them in a bar array within the PCI device structure. We also introduced a helper header to perform operations with BARs such as getting the length of their underlying region Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-20kern: dma: Add DMA frame allocatorIan Moffett
Introduce a special frame allocation utility to reserve memory for DMA done between devices and the host. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kern: proc: Keep track of mapped areas with rangesIan Moffett
This commit adds a virtual memory range queue to the process descriptor in order to keep track of mapped pages and free their respective frames upon program exit. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kern/amd64: proc: Add proc_self()Ian Moffett
Introduce a new proc_self() function to get the current running process on the current CPU core. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kern: pci: Implement PCI leaf drivers + AHCI stubIan Moffett
This commit introduces the support for having PCI specific device drivers while providing a tiny AHCI stub that logs the existence of the host bus adapter. The PCI bus itself has a driver for enumerating the devices and associating a specific driver to it, the device drivers themselve must advertise themselves to the PCI driver. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kern: Add '.modules' section to kernel binaryIan Moffett
The '.modules' section stores the list of modules to bring up on early boot. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kernel: pci: Add PCI lookup routineIan Moffett
This commit adds a new 'lookup_type_t' for representing the various kinds of lookups one can perform on the PCI bus. The actual code to drive the lookups is exposed as the pci_bus_lookup() routine. When doing a lookup of a PCI device, you must specify the kind of lookup to perform. If a PCI_LU_CLASSREV is requested, only the PCI class and subclass fields in the PCI lookup are used. If the PCI_LU_VENDEV is requested, only the PCI vendor ID and device ID are used in the lookup. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kern: pci: Add 'class' and 'subclass' to deviceIan Moffett
This commit adds the PCI class and revion (subclass) IDs to the PCI device descriptor provided by L5. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kern: vfs: Add namei() prototype functionIan Moffett
Introduce a namei() prototype function to build upon when implementing core namei() logic. The prototype simply implemenets the path parsing and mimicks a UNIX-like (shell) namei output. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kern: vfs: Add mountpoint lookup helperIan Moffett
Add helper function to lookup mountpoints such as '/' Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kernel: vfs: Add initial mount code + mount initrdIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kernel: mount: Add mountpoint allocationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-19kern: vfs: Add path component counterIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-18kern: vfs: Add initial vfsops, and mount codeIan Moffett
This commit introduces the groundwork for mountpoints, filesystems and the VFS as a whole. OMAR is now initialized as its own filesystem by the VFS Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-18kern: vfs: Add vnode allocation / release routinesIan Moffett
Introduce routines to allocate (create) and deallocate (destroy) virtual file nodes. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-18kern: vfs: Add initial vnode definitionsIan Moffett
A vnode is simply an object used when referencing filesystem objects. This marks the start of development for the L5 Virtual File System Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-18kern: pci: Implement device list as TAILQIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-18kern: Bump L5 version to v0.0.2Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>