• Charles Jacobsen's avatar
    Support for multiple threads in lcd (limited). Major clean up of code. · ded1cd32
    Charles Jacobsen authored
    In line with more recent design discussions, we now have (limited)
    support for running multiple threads inside an lcd.
    
    Each thread will have its own hardware vm, but share a guest
    physical address space and cspace.
    
    It's limited for now because threads cannot handle interrupts/exceptions
    internally in the lcd. This will require a per-thread TSS (much like
    Linux's per-core TSS/interrupt stack). I removed the gdt/idt/tss for
    now (Cf. with Dune, they don't use gdt/idt/tss) and will tackle that later
    after finishing more important stuff.
    
    I have only tested the code for running one hardware vm inside an lcd. Some
    code is missing proper locking for the future when we have multiple threads
    inside an lcd. I'm leaving this for now.
    
    The microkernel uses a simple bitmap for guest physical page allocation.
    
    Removed blob loading - code is set up for running modules exclusively.
    
    See the headers and Documentation/lcd-domains for more info.
    
    I put a flag at the top of files that are not currently in use, and will
    probably be deleted/incorporated later.
    ded1cd32
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.cocciconfig Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...