summaryrefslogtreecommitdiff
path: root/src/sys/os
AgeCommit message (Collapse)Author
45 hourskern: filedesc: Implement lseek() functionIan Moffett
The lseek() function allows the call to resposition the file offset using a specific whence value to govern offsetting semantics Signed-off-by: Ian Moffett <ian@osmora.org>
45 hourskern: vfs: Add vop_getattr() for vnodesIan Moffett
The vop_getattr() allows the caller to obtain information about a file represented by a specific vnode Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: Add kernel realloc() functionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: fs: Add initial tmpfs implementationIan Moffett
Supported VOPs as of now: - lookup() - create() - reclaim() Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: devfs: Fix typo in VFS ops structureIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: filedesc: Add O_CREAT flag for fd_open()Ian Moffett
Add an O_CREAT flag to the ABI headers so that files can be created in the VFS. Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: vfs: Return vnode upon path parsing endIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: vfs: Implement non image-fs namei lookupsIan Moffett
This commit adds supports for full lookups and path traversal when FS_ATTR_IMAGE is unset. We've also added a NAMEI_CREATE flag to create as it traverses. Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: vfs: Add 'create' virtual file operationIan Moffett
The create VOP allows the caller to create a node within the parent directory of a filesystem represented by a vnode. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern/amd64: mp: Add idle threads per coreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: init: Initialize scheduler before modulesIan Moffett
Some modules may rely on kernel threads, therefore we'll need the scheduler up before we start them Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern/amd64: Introduce kernel threadsIan Moffett
Introduces kernel threads. by using the proc_ktd() function, one can spawn a CPL 0 running thread to the desired code. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: filedesc: Add close() system callIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: vfs: Add reclaim callback to vnodeIan Moffett
The reclaim callback simply reclaims any filesystem specific resources used with vnodes back to the operating system. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: omar: Make OMAR reads offset awareIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: vfs: Make vnode r/w operations offset awareIan Moffett
Adds offset handling to the vnode read and write callbacks. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: Add SYS_read system call for file I/OIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: omar: Implement VFS read vopIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: namei: Return vnode before exiting functionIan Moffett
If there is a file that is found, we want to return the result before we return from the function, fixes issue with uninitialized vnodes on lookups Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: namei: Return -NOENT at function endIan Moffett
If we go through the entire function without getting a vnode, then there is no file to be found Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: vfs: Add vnode operation for readsIan Moffett
Introduces a read callback wrapper implementation for vnodes to simplify file reading Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: omar: Set vnode ops per looked up nodeIan Moffett
Everytime a look up is performed, we should set the vnode operations on the resulting vnode Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: filedesc: Don't stop searching without fdIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: filedesc: Remove outdated commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskern: vfs: Add NULL check for write vopIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskern: Add initial DMS frameworkIan Moffett
DMS stands for Disk Management and Supervision, drivers can register themselves to DMS so that they can be looked up and operated on. Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskern: proc: Check argc after checking envblkIan Moffett
Fixes a crash with using this syscall Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: proc: Add NULL check for envblkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: os: Remove extra newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: proc: Add initial waitpid() syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: proc: Implement process sleeping and wakingIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: proc: Use seperate queue link for lookupsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 dayskern: init: Turn off console logs before userlandIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern: proc: Add process lookups by PIDIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
8 dayskern: mac: Document the MAC border tableIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskern: proc: Add getargv system callIan Moffett
Introduce a getargv system call that allows one to fetch an argument string using an index into the argument vector. Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskern: systm: Add copyoutstr()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
9 dayskern: proc: Add initial penv block supportIan Moffett
This commit introduces the initial support for the process environment block and implements argv and argc. Signed-off-by: Ian Moffett <ian@osmora.org>
10 dayskern: 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>
10 dayskern: 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>
12 dayskern: iotap: Remove unused includeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 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>
12 dayskern: os: Support up to 8 max namespacesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: filedes: Write non standard streamsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: filedes: Fix erroneous sizeof()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: filedes: Add missing whitespaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: filedes: Ignore unitialized vnodesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: vfs: Add write vop to vnodesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: os: Verify access semantics in fd_write()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 dayskern: filedes: Duplicate FDs for standard streamsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>