summaryrefslogtreecommitdiff
path: root/src/sys/os
AgeCommit message (Collapse)Author
10 daysbuild: Use clang during early stateIan Moffett
Use clang during early state until we configure our own cross compiler for L5 Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskern: proc: Don't acquire maplist lock during initIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskern: fs: Add initial devfs implementationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskern: namei: Fallback to path parse if lookup failIan Moffett
If the filesystem is marked to require image-like paths but the path could not be found, fallback to parsing it manually as perhaps it is somewhere else. Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: Add initial signals workIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: proc: Protect mapping list with spinlockIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 dayskernel: filedesc: Allocate standard streamsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 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>
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-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: vfs: Add lookup by name helperIan 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: Initialize ACPI before cpu_conf() callIan 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-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: init: Initialize generic driversIan Moffett
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-19kernel: vfs: Handle root path in vfs_cmt_cnt()Ian 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-18build: Allow each subsystem to have their own confIan 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>
2025-09-18kern: io: Add initial PCI CAM driverIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-17kern/amd64: Implement syscall domains and windowsIan Moffett
A syscall domain in the L5 kernel is a fixed list of "syscall windows", each syscall window represents a specific platform and/or syscall model. A platform latch within each domain determines which window / platform should be visible. Since syscall domains are per-process, these changes are local to their respective processes. 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-17kern: init: Add copyrightIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-17kern/amd64: proc: Add proc_kill() routineIan Moffett
Add a new function to kill processes and clean them up. They will then be marked as EXITING and it is up to the parent to do the rest. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-17kern: init: Load /usr/sbin/init after bootIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-17kern: sched: Write proc result in sched_deq()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-17kern/amd64: cpu: Add process load balancingIan Moffett
This commit introduces load balancing of processes between cores by using a scalable "CPU arbiter" which decides how to fetch the next core descriptor. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-17kern: init: Add L5 bootup logoIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-17kern: Make memmap dump configurable via kconfIan Moffett
Use the OSMORA kernel configuration framework to add options for L5Lunos to parse during early startup. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kernel: elf: Load ELFs into memoryIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kernel: elf: Use memcpy() and remove memset() callIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kern: elf: Fix frame calcs + style cleanupIan Moffett
Allocate more than one frame that exists and increment by one if zero. We also did some style fix ups, added an #undef and a break. Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kern: elf: Default to PROT_READ | PROT_USERIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kern: elf: Don't load blank program headersIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-16kern: Add initial ELF loader sourcesIan Moffett
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: os: Introduce support for OMAR initramfsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern/amd64: cpu: Add initial SMP startup codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern: Add initial scheduler skeletonIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>