Age | Commit message (Collapse) | Author |
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
The PROC_EXITING flag is already set within the MI layer of the process
management core
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>
|
|
When a CPU core first starts up, it has no proceses to assign to itself.
This commit ensures that the processor will right away start trying to
find tasks to grab from its runqueue.
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 timeout so that if data never arrives, the system doesn't get
locked up.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit introduces scancoding buffering as well as an I/O tap so
that it may be exposed outside of the driver
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This implementation walks through the entire table of registered
interrupt handlers and calls each driver handler.
The driver is to return a value of 1 if the interrupt is theirs and has
been handled, otherwise it is to return 0. The handling core is to
respoond to a 1 by exiting the table walk early, and responds to a 0 by
continuing.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Ensure no uninitialized garbage ends up in the handler structure after
we've allocated it.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit makes the interrupt table global so it can be accessed
through assembly.
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>
|
|
This commit introduces the interrupt registration framework for L5 and
accounts for I/O APIC IRQ inputs, and interrupt priority levels encoded
within bits 7:4 of the interrupt vector
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce a helper function to convert legacy ISA IRQ numbers to the GSI
numbers assigned to an I/O APIC pin
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce support for returning symbols or strings in memory by using
the symbol table and REX prefixes for 64-bit register accesses
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Introduce register allocation via a bitmap where each bit corresponds to
a specific register index.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit adds a 32-bit register ID list as well as the beginning of
ABI specific values
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Use clang during early state until we configure our own cross compiler
for 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>
|
|
To ensure that all residual data does not remain for the mapping in its
table, we write a flat zero if prot is also zero i.e., no permissions
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 function to halt all processor cores on the machine excluding self.
This may be used for emergency conditions on the 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>
|
|
This commit introduces support for sending inter-processor interrupts on
the mainbus to other cores on the machine.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
These sometimes cause issues so we are better off just stripping them
from the final binary.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
As of now, the bootloader handles setting up the MMIO regions and we'll
need huge page support (2 megs) for reassigning MMIO space
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>
|
|
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 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 new proc_self() function to get the current running process
on the current CPU core.
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>
|
|
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>
|