Commit e49732d2 authored by Committed by Vikram Narayanan
Adds support for creating a kLCD from another kLCD.
This is a boring but important commit that we need for our glue code example (that is still in progress). The main motiviation is: One kLCD (like a booting kLCD) may want to create other threads to run kernel modules, and it may want to grant them capabilities to resources. (Before this, this wasn't possible - all kLCDs were isolated from each other.) Another alternative (possibly better) for the future is to allow threads to share cspaces. But we're probably not there yet. Adds the following to the kLIBLCD interface: -- klcd_create_klcd - essentially creates another kernel thread and initializes the lcd-specific stuff like its cspace; the creator can then use lcd_cap_grant to grant this thread capabilities -- klcd_create_module_klcd - creates a klcd (using klcd_create_klcd) and loads a kernel module for the klcd to run -- klcd_destroy_module_klcd - destroys klcd (the kernel thread, etc.) and unloads the module Adds test and an example group of modules that show how to use this.
Showing with 672 additions and 91 deletions