Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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 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 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>
|
|
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>
|
|
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>
|
|
- Wrap on X overflow
- Wrap on Y overflow
- Keep track of max console width and height
- Add console enable/disable control
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|