Le mer. 22 mars 2017 à 00:59, Adam Lackorzynski <adam@os.inf.tu-dresden.de> a écrit :
On Tue Mar 21, 2017 at 08:31:06 +0100, Marc CHALAND wrote:
> I'm doing a study to port old software on top of Fiasco.OC. This soft uses
> routines which blocks thread scheduling between EnterRegion and LeaveRegion
> call. Is there any equivalent on TUDOS ? Did somebody already get this
> challenge ?

Yes, that's what the vCPU model is basically about, i.e. supporting
execution style of an OS. With this you can have EnterRegion and
LeaveRegion by disabling/restoring virtual interrupts.

Is thread scheduling managed by virtual interrupts ? If I disable virtual IRQ, no other thread will get time slot ?
L4Re documentation about vCPU is very short and I don't understand how it works. 

> I would like to know if L4Linux uses Fiasco.OC scheduler or a user land one
> ?

It uses Linux's own scheduler.

So how are scheduled hybrid/alien tasks ? How are the priorities managed between L4Re threads and L4Linux ones ?

> For our i.MX7d board, Freescale provides Linux drivers on 4.1. I don't know
> yet how many drivers we will need. Do you think it is better to port
> drivers from 4.1 to L4Linux 4.3 or later or get a L4Linux 4.1. I have no
> idea about the complexity on doing this.

With a i.MX7d you have hardware support for virtualization, so what
about using that, i.e. running normal Linux in a VM? Getting an L4Linux
for an older version is of course possible but a bit of work.

In that case, is it possible to give hardware access to vm without need to emulate it ? I've never used this technology yet. I don't know how it works in L4Re. How are managed the priorities between linux threads and L4Re ones ? Is communication possible between a virtualized linux task and a L4Re native one ?

Regards
Marc