Hi Oak,

Answers inline.

Cheers,
Anna.

On 9/08/2016 12:43 PM, Norrathep Rattanavipanon wrote:
I have a few questions about how interrupts work in seL4.

1) Is it possible to enable/disable interrupt (i.e. __enable_irq or __disable_irq for ARM) in the userspace code of sel4? 
We want to make sure that the execution of the code in the initial process does not get interrupt.
No. However if you assign your interrupt handler a lower priority than the task that you do not want interrupted, the handler won't be scheduled. This doesn't stop the irq handler from running in the kernel, but the notification won't be delivered until your lower priority thread is scheduled.

2) My understanding is that the scheduling mechanism in seL4 is priority-based first and round-robin if two processes/threads have the same priority.
Assume process A is the initial process spawned by kernel.

2.0) is my understanding about sel4 scheduling correct?
Yes.
2.1) Is the initial process guaranteed to have the maximum priority in seL4?
Yes.
2.2) If another process, say process B, is created by process A with lower priority.
Is it possible for process B to interrupt process A and execute code in B instead while A is executing?
No.

Thanks,


--
Norrathep (Oak) Rattanavipanon
M.S. in Computer Science
University of California - Irvine


_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel

-- 

Anna Lyons
Kernel engineer / PhD Student
DATA61 | CSIRO
E anna.lyons@nicta.com.au 
www.data61.csiro.au
 
CSIRO's Digital Productivity business unit and NICTA have joined forces to create digital powerhouse Data61