Hi Will,

My understanding (I may be wrong here, please do correct me :) ) is that
the time domains are temporally isolated in the sense that a program
running in domain A is not supposed to know anything about timing that
happens in domain B, so that it can't use that to infer about information.

So if you have 2 domains, A and B each with a time slice of 10ms, with some
threads in both, B can't know when did A run out of runnable threads to run
if it does(vice versa). If A ran out of things to do 5ms into its
timeslice, I think the scheduler will just run the idle thread, until A's
timeslice run out.

Given that context, why do you want to run such a timer driver in user land
? If they are mutually distrusting, I think such a driver can become a
timing side channel. Why not give each of them their own timer driver ?

Cheers,
Felix

On Sun, May 8, 2016 at 11:41 AM, Will Klieber <[email protected]> wrote:

> Hi,
>
> Is there any way of obtaining the number of elapsed timer ticks from the
> seL4 kernel (using ARM / BeagleBoard platform)?  I know the kernel uses
> this information internally for the scheduler, but I couldn't find any way
> of accessing it from userland.
>
> Specifically, my usage scenario is as follows.  Two mutually distrustful
> programs are running, and each wants to run an action periodically.  We
> want to temporally isolate the two programs using seL4 time domains.  In
> this case, interacting with the hardware timer in userland seems difficult,
> since we want to get the updated time whenever a new timer tick arrives,
> but the userland device driver for the timer can only operate in exactly
> one of the seL4 time domains.  Please let me know if I am misunderstanding
> something or if there might be a better way to approach this situation.
>
> Thanks,
> Will
>
> _______________________________________________
> Devel mailing list
> [email protected]
> https://sel4.systems/lists/listinfo/devel
>
_______________________________________________
Devel mailing list
[email protected]
https://sel4.systems/lists/listinfo/devel

Reply via email to