Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce new routines that make it safer to transfer data between
userland and the kernel.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
The '.modules' section stores the list of modules to bring up on early
boot.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Introduce routines to allocate (create) and deallocate (destroy) virtual
file nodes.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|