• Charlie Jacobsen's avatar
    Muktesh's capabilities fully incorporated. Capsicum-style enter/exit. · 6ee9a51f
    Charlie Jacobsen authored
    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's avatarVikram Narayanan <vikram186@gmail.com>
    6ee9a51f
Name
Last commit
Last update
..
alpha Loading commit data...
arc Loading commit data...
arm Loading commit data...
arm64 Loading commit data...
avr32 Loading commit data...
blackfin Loading commit data...
c6x Loading commit data...
cris Loading commit data...
frv Loading commit data...
h8300 Loading commit data...
hexagon Loading commit data...
ia64 Loading commit data...
m32r Loading commit data...
m68k Loading commit data...
metag Loading commit data...
microblaze Loading commit data...
mips Loading commit data...
mn10300 Loading commit data...
nios2 Loading commit data...
openrisc Loading commit data...
parisc Loading commit data...
powerpc Loading commit data...
s390 Loading commit data...
score Loading commit data...
sh Loading commit data...
sparc Loading commit data...
tile Loading commit data...
um Loading commit data...
unicore32 Loading commit data...
x86 Loading commit data...
xtensa Loading commit data...
.gitignore Loading commit data...
Kconfig Loading commit data...