-
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