Skip to content
  • Charlie Jacobsen's avatar
    Muktesh's capabilities fully incorporated. Capsicum-style enter/exit. · 6ee9a51f
    Charlie Jacobsen authored and Vikram Narayanan's avatar Vikram Narayanan committed
    
    
    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: default avatarVikram Narayanan <vikram186@gmail.com>
    6ee9a51f