Age | Commit message (Collapse) | Author |
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Abort if the host controller does not support 64-bit addressing
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces this initial ahci_init() logic by resetting HBA
state on startup.
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
The '.modules' section stores the list of modules to bring up on early
boot.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
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>
|
|
Add helper function to lookup mountpoints such as '/'
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|