Age | Commit message (Collapse) | Author |
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Adds offset handling to the vnode read and write callbacks.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduces a read callback wrapper implementation for vnodes to simplify
file reading
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add a new QUERY operation code that is used to fetch information about a
specific disk.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
The DMS engine handles performing I/O based on specific opcodes given to
it and drives the callback wrappers.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
In order to safely copy between disk and host memory through a
programming interface, DMS must be aware of the hardware disk block size
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Implements command slot allocation, command submission and the ATA
identify command
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 allows us to see what kind of capabilities the device has (e.g.,
MSI/MSI-X)
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 a function that reboots the system by attempting the softest method
and incrementally becoming forceful if previous methods fail
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>
|
|
The host needs to wait for the controller to be ready by polling the CNR
bit as per section 4.2 of the spec
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 programming interface based lookups for devices with different
kinds of interfaces
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Some devices are identified by very specific programming interfaces,
therefore this is important to have.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Instead of using bitfields to say which kind identification we are
doing, it is a better idea to just use the lookup type directly as it is
more scalable
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 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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces the initial support for the process environment
block and implements argv and argc.
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 text mode cursor which is the inversion of the console background
color.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
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>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit reserves the first 64 vectors for the I/O APIC input lines.
During an IRQ, each handler will be called to see which one handles it.
Signed-off-by: Ian Moffett <ian@osmora.org>
|