summaryrefslogtreecommitdiff
path: root/src/sys/include/os
AgeCommit message (Collapse)Author
40 hourskern: iotap: Expose I/O taps to userlandIan Moffett
Expose I/O taps to userland using a tap message interface. An application may construct a tap message to send to the kernel requesting data from a specific tap, if there is data, the buffers will be safely populated, otherwise some error returned. An example is accessing the PS/2 keyboard tap: -- char name[] = "i8042.port.0"; char buf[2] = {0, 0}; struct iotap_msg msg = { .opcode = IOTAP_OPC_READ, .buf = buf, .len = len }; ... /* muxtap() may be used */ ... -- Signed-off-by: Ian Moffett <ian@osmora.org>
42 hourskern: security: Improve scalability of MAC checksIan Moffett
The concept of resource borders is mostly used for resources that can easily be mapped into memory, synced and contain attributes. However, some things (e.g., a network resource, keyboard input, etc) may not be great with raw memory mappings. This commit mitigates this problem. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: os: Add I/O tap frameworkIan Moffett
The I/O tap framework provides a way to bypass the typical device filesystem interface for applications where more direct access would be beneficial. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: os: Support up to 8 max namespacesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: vfs: Add write vop to vnodesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: filedes: Save the mode in fd_open()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysos: vnode: Add refcounts to vnodesIan Moffett
Keep track of how many referencing are on a vnode so one isn't freed early while another object is still using it. Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskern: filedesc: Add fd_open() functionIan Moffett
Introduce the fd_open() function as apart of the kernel file descriptor API to open a file and get a file descriptor. Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: os: Add copyinstr()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: parse: Add symbol listIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 daysnp: Remove deprecated ast_root fieldIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 daysnp: codegen: Deprecate AST in favor of stackgenIan Moffett
Deprecate the usage of abstract syntax treats in favor of the much saner stack machines + IR usage Signed-off-by: Ian Moffett <ian@osmora.org>
9 daysnp: parse: Allocate new PIIR stack into work descIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 daysnp: parse: Create proc AST, handle end/begin, ...Ian Moffett
This commit introduces AST object types and AST integer type definitions. We also now keep track of how deep we are in begin/end tags. - Introduce parsing for TT_BEGIN - Introduce parsing for TT_END Signed-off-by: Ian Moffett <ian@osmora.org>
10 daysnp: parse: Add AST structure and initial logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 daysnp: init: Keep track of objects with PTRBOXIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
10 daysnp: lex: Cache last char during parseIan Moffett
Sometimes when parsing while we are scanning for a string, we might loose the last character if we don't save it Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskern: Add initial pirho compiler sourcesIan Moffett
The pirho compiler is a ring-0 compiler used to compile core parts of the kernel during updates and installs from the initramfs. Signed-off-by: Ian Moffett <ian@osmora.org>
11 dayskern: os: Document the mac_border structureIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: ns: Include nsvar.h in os/ns.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: ns: Remove unused length fieldIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: Add initial object namespace sourcesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: Add safe copyin() and copyout()Ian Moffett
Introduce new routines that make it safer to transfer data between userland and the kernel. Signed-off-by: Ian Moffett <ian@osmora.org>
14 dayskern: Add initial signals workIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-26kernel: filedesc: Allocate standard streamsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-25libc: 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>
2025-09-25kern: 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: 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: 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-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: 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: pci: Add bus framework and PCI BAR mapperIan Moffett
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-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-17kern/amd64: proc: Add initial context switch logicIan Moffett
This commit introduces new functions that will be useful for having multiple processes run on the system. - Add md_proc_yield() - Add md_proc_kick() - Add md_sched_switch() 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-15kern: os: Introduce support for OMAR initramfsIan 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>
2025-09-15kern: Add sys/mmio.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern: os: Add initial kalloc subsystemIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-15kern: os: Add assert.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2025-09-13os: Add spinlock supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>