Age | Commit message (Collapse) | Author |
|
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>
|
|
If we do not do this, we'll get stale x/y values the the characters will
never advance position when using multichar strings
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>
|
|
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>
|
|
When an attached device is detected, the driver will need information
about the PCI device for the bring up process.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Use the current platform latch when selecting a syscall window from the
current domain.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
A syscall domain in the L5 kernel is a fixed list of "syscall windows",
each syscall window represents a specific platform and/or syscall model.
A platform latch within each domain determines which window / platform
should be visible. Since syscall domains are per-process, these changes
are local to their respective processes.
Signed-off-by: Ian Moffett <ian@osmora.org>
|