On 7/31/21, William ML Leslie <william.leslie....@gmail.com> wrote:
> On Sat, 31 Jul 2021, 8:54 pm Andrew Warkentin, <andreww...@gmail.com>
> wrote:
>
>>
>> Even though the process server will run in user mode as far as the
>> hardware and microkernel are concerned, functionally it will be akin
>> to something above user processes but below the kernel. It will have
>> full access to all kernel objects in the system including all user
>> pages, CNodes, and endpoints (it won't actually map user pages except
>> if a process opens the associated file for read/write I/O as opposed
>> to mapping the file),
>
>
> Eeep. You want untyped access to cappages?
>


The process server won't have any kind of raw access to the underlying
memory of kernel objects like CNodes, since the API doesn't allow it.
The only reason I can think of for adding support for anything like
that might be to somehow allow raw read access (but certainly not
write access) to make CSpace allocators more space-efficient by
eliminating the bitmap used to track which slots are used, but that
certainly isn't any kind of priority.

>
> I do understand that urge (for performance reasons). I would prefer to get
> around that by implementing an io_uring style async interface to
> kernel-implemented objects. The too-ing and fro-ing required to set up
> address mapping is eventually going to get onerous and will have to be
> solved with some rigour.
>

I've thought about that as well. I was thinking it could possibly be
solved by adding a batch system call interface where the caller writes
multiple system calls into a buffer (with each entry in this buffer
having a fixed length including all registers, even ones that aren't
used by a particular invocation) and passes the number of system calls
to the kernel. This might best be implemented as an invocation on a
new type of "batch buffer" kernel object rather than adding a new
system call trap.
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems

Reply via email to