Commit 6ee9a51f authored by Committed by Vikram Narayanan
Muktesh's capabilities fully incorporated. Capsicum-style enter/exit.
Builds, but not fully tested. Good tests for capability subsystem, some tests for kliblcd. Non-isolated kernel threads can "enter" the lcd system by doing klcd_enter / klcd_exit. They can create other lcd's, set them up, etc. They use the same interface that regular lcd's will use, so such code could be moved to an lcd, as we had planned. Will document this in Documentation folder tomorrow ( == today ). Capability system does checks now when a capability is deleted/revoked: for example, if it's for a page, the microkernel checks if the page is mapped, and unmaps it. If the last capability goes away, the page is freed. Documentation is in Documentation/lcd-domains/cap.txt. IPC code is in place, but not tested yet (pray for me). Debug is taking some time. Sometimes requires a power cycle which adds an extra 5 - 10 minutes. Build is slow the first time after reboot. Give me a user level program and I'll debug it in 30 seconds! argc Main arch-independent files: include/lcd-domains/kliblcd.h, types.h This is what non-isolated kernel code should include to use the kliblcd interface to the microkernel. virt/lcd-domains/main.c, kliblcd.c, cap.c, ipc.c, internal.h The microkernel, broken up into pieces. virt/lcd-domains/tests/ The tests, in progress. Some old files are still hanging around in virt/lcd-domains and will be incorprated/cleaned up soon. I couldn't squash over the merge from the decomposition branch, so there's a bunch of junk commits coming over. (I should've just copied Muktesh's files.) Conflicts: drivers/Kconfig drivers/lcd-cspace/test.h include/lcd-domains/cap.h include/lcd-prototype/lcd.h include/lcd/console.h include/lcd/elfnote.h include/linux/init_task.h include/linux/module.h include/linux/sched.h virt/lcd-domains/cap.c virt/lcd-domains/ipc.c virt/lcd-domains/lcd-cspace-tests2.c Resolved-by: Vikram Narayanan <email@example.com>
Showing with 6376 additions and 12114 deletions