Hi,
On Mon Jan 23, 2012 at 15:54:29 -0800, Daniel Waddington wrote:
I want to use the TSS I/O permission bit map to support fine grained
control of I/O access for user-level apps (x86 32 bit target). From
looking at the kernel code, I believe the bit map is switched out
per-process as part of the Context class (Space::_io_space) -
correct me if I am wrong. My query is how to set/clear the bits for
a given target task from a "root" task with sufficient privileges
(e.g., base caps and sigma0 caps). I could extend the kernel
scheduler protocol, but I don't want to do this if there is already
a clean way in place.
IO-ports are handled similar to page-faults, i.e. they can be mapped to
other tasks, and the pager receives io-page-faults when one of its
clients accesses an IO-port without having it. For example look for
L4_PROTO_IO_PAGE_FAULT and l4_iofpage().
Adam