GSOC2011 project RTEMS HyperVisor

Gedare Bloom gedare at gwmail.gwu.edu
Mon Mar 21 21:19:08 UTC 2011


Sorry, I meant excluding the RTEMS license. Of course, licensing under
the RTEMS license is the closest. :)

On Mon, Mar 21, 2011 at 4:39 PM, Tobias Schoofs <tobias.schoofs at gmx.net> wrote:
> I see the point.
>
> I still do not see, however, why you are advocating the BSD license, whereas
> most RTEMS code seems to be under GPL (with RTEMS exception).
>
> The GPL-RTEMS license appears to me the much more appropriate way to go.
>
> By the way, license matters come up quite often - also in other projects.
>
> A question to everybody: Wouldn't it make sense to provide a document on the
> rtems.org that explains the reasoning behind these issues?
>
> So:
> What is the intention in using a GPL-based license?
> Why Lesser GPL is not appropriate for kernel code.
> What are friendly licenses (e.g. BSD); but also: why is BSD not the primary
> RTEMS license?
> Which licenses are preferred for code that enters the tarball?
>
> Regards,
>
> Tobias
>
> On 03/21/2011 07:27 PM, Gedare Bloom wrote:
>>
>> I don't know if it is formally documented about LGPL, but it was
>> discussed recently, see the mailing list thread:
>> http://www.rtems.com/ml/rtems-users/2010/april/thrd1.html#00066
>>
>> My understanding is that as long as there is (1) a linking exception,
>> (2) no obligatory advertisement clauses, and (3) no requirement to
>> redistribute modifications to the licensed software (e.g. source
>> upstream / publish any changes made), then the license is fine.  LGPL
>> requires #3 from what I can tell, and a minor version of #2 (prominent
>> acknowledgement of included libraries, whatever the definition of
>> prominent).
>>
>> Informally, the closest (safest) license is actually the FreeBSD
>> (2-clause BSD) license.  The 3-clause BSD is also fine, since its
>> advertisement clause is actually a restriction on using names, rather
>> than an obligation.
>>
>> -Gedare
>>
>> On Mon, Mar 21, 2011 at 3:17 PM, Tobias Schoofs<Tobias.Schoofs at gmx.net>
>>  wrote:
>>>
>>> Mh. Why do you say that LGPL is insufficient for RTEMS? RTEMS is based on
>>> GPL with an exception that is similar to the "Lesser".
>>>
>>> Actually, for the code directly linked to RTEMS (MMU, superuser mode),
>>> the license will be the license of the modules that are changed (the
>>> SPARC-LEON BSP, for instance) and hence, the RTEMS license.
>>>
>>> For our own code, the plan is to use an "RTEMS-friendly" license that is
>>> widely used.
>>>
>>> You say "it was established" that LGPL is not sufficient. Is this
>>> documented somewhere? Is there perhaps a rationale for license-related
>>> decisions?
>>>
>>> Thanks,
>>>
>>> Tobias
>>>
>>> -------- Original-Nachricht --------
>>>>
>>>> Datum: Mon, 21 Mar 2011 12:34:39 -0400
>>>> Von: Gedare Bloom<gedare at gwmail.gwu.edu>
>>>> An: Tobias Schoofs<Tobias.Schoofs at gmx.net>
>>>> CC: "å¼ æ–‡æ °"<157724595 at 163.com>, rtems-users at rtems.org
>>>> Betreff: Re: RE: GSOC2011 project RTEMS HyperVisor
>>>> I think it was established that LGPL is not sufficient for RTEMS code
>>>> base. I believe this makes an AIR-based project an unlikely candidate
>>>> for a GSOC project. Especially if the student used the AIR kernel as a
>>>> resource.  Perhaps if the AIR kernel is released under an
>>>> RTEMS-friendly license, a suitable project might be possible.
>>>>
>>>> Even if a "clean room" implementation of a hypervisor is the intended
>>>> project, I'm not sure it is appropriate for a GSOC at this point in
>>>> time.  My guess is that using RTEMS as a hypervisor requires three
>>>> sub-projects that are all at or beyond the scope of a single GSOC:
>>>>
>>>> 1) Adding virtual memory / MMU support to RTEMS is a necessary
>>>> pre-requisite to any attempt at making a true hypervisor, and it is a
>>>> large project by itself.
>>>>
>>>> 2) Adding privileged/unprivileged distinction is also a pre-requisite
>>>> to implementing a hypervisor. Each candidate target will have to be
>>>> identified, and the CPU-specific context switching and interrupt
>>>> handling would need some tweaking to ensure that privilege bits are
>>>> properly managed. As far as I know, most processors just have full
>>>> privilege for the application at all times. This is a large project by
>>>> itself.
>>>>
>>>> 3) Implement the hypervisor itself involves primarily copying of page
>>>> tables, swapping out guests, exporting a HAL (device drivers), and
>>>> writing handlers for paravirtualized exceptions, hypercalls, and true
>>>> guest exceptions.  This is also a large project.
>>>>
>>>> -Gedare
>>>>
>>>>
>>>> On Mon, Mar 21, 2011 at 10:57 AM, Tobias Schoofs<Tobias.Schoofs at gmx.net>
>>>> wrote:
>>>>>
>>>>> 1) Yes, it does. There is a library that implements all services from
>>>>
>>>> ARINC 653 Part 1 and a subset of Part2. This library, however, is closed
>>>> software.
>>>>>
>>>>> 2) The AIR kernel is Lesser GPL and, as such, open source.
>>>>>
>>>>> 3) The code will be release very soon, i.e. in the course of the next
>>>>
>>>> months.
>>>>>
>>>>> I will provide more information in an e-mail directly to you, since
>>>>> this
>>>>
>>>> is not of general interest to the mailing list.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Tobias
>>>>>
>>>>> -------- Original-Nachricht --------
>>>>>>
>>>>>> Datum: Mon, 21 Mar 2011 22:07:39 +0800 (CST)
>>>>>> Von: "张文杰"<157724595 at 163.com>
>>>>>> An: "Tobias Schoofs"<Tobias.Schoofs at gmx.net>
>>>>>> CC: Jean-Jacques.Metge at cnes.fr, rtems-users at rtems.org
>>>>>> Betreff: RE: GSOC2011 project RTEMS HyperVisor
>>>>>> Dear Tobias:
>>>>>> Thanks for your replay, actually i misunderstand the AIR system. And
>>>>
>>>> the
>>>>>>
>>>>>> work AIR system has done is what i want to implement. My thought is
>>>>
>>>> also
>>>>>>
>>>>>> to implement a para-virtualisation hypervisor that can run RTEMS and
>>>>
>>>> other
>>>>>>
>>>>>> OS.(RTEMS as a guest OS). I do not plan to implement a
>>>>
>>>> full-virtualisation
>>>>>>
>>>>>> hypervisor.
>>>>>> I has some question about AIR:
>>>>>> 1). AIR has also implement the ARINC 653 APEX on RTEMS?
>>>>>> 2). All the AIR source code is released  under GPL?
>>>>>> 3). When does AIR source code released? could you send me a copy of
>>>>
>>>> source
>>>>>>
>>>>>> code foracademic research now?
>>>>>>
>>>>>> Wenjie
>>>>>> Best Regards
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> At 2011-03-21 21:43:52,"Tobias Schoofs"<Tobias.Schoofs at gmx.net>
>>>>
>>>> wrote:
>>>>>>>
>>>>>>> Dear Wenjie,
>>>>>>>
>>>>>>> your understanding of the AIR system is not 100% correct.
>>>>>>>
>>>>>>> AIR is a hypervisor that uses para-virtualisation.
>>>>>>>
>>>>>>> RTEMS is a guest OS for this hypervisor. The guest has to be prepared
>>>>>>
>>>>>> (para-virtualised) to run on top of the hypervisor. RTEMS is currently
>>>>
>>>> our
>>>>>>
>>>>>> main target, but there may be other OSes as well (e.g. Linux).
>>>>>>>
>>>>>>> Finally, the AIR hypervisor uses RTEMS *additionally* as hardware
>>>>>>
>>>>>> abstraction layer (HAL), i.e. the hypervisor itself is based on RTEMS.
>>>>
>>>> For this
>>>>>>
>>>>>> purpose, we have implemented MMU support as well as superuser/user
>>>>
>>>> level
>>>>>>
>>>>>> support in RTEMS.
>>>>>>>
>>>>>>> The code is under Lesser GPL and will be made available to the RTEMS
>>>>>>
>>>>>> community.
>>>>>> > From one of your previous e-mails, I got the impression that you
>>>>>> > plan
>>>>
>>>> a
>>>>>>
>>>>>> hypervisor that does run-time virtualisation. (You mentioned that you
>>>>
>>>> do not
>>>>>>
>>>>>> want to change the guest OS.) I am not sure that you will be able to
>>>>>> provide sufficient certification/qualification evidence for such a
>>>>
>>>> complex
>>>>>>
>>>>>> software. At least in areas where ARINC 653 is applied,
>>>>>> certification/qualification processes are very demanding. For this
>>>>
>>>> reason, available, commercial
>>>>>>
>>>>>> hypervirsors (VxWorks 653, PikeOS) use para-virtualisation, not full
>>>>
>>>> run-time
>>>>>>
>>>>>> virtualisation.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Tobias
>>>>>>>
>>>>>>>
>>>>>>> -------- Original-Nachricht --------
>>>>>>>>
>>>>>>>> Datum: Mon, 21 Mar 2011 20:31:31 +0800 (CST)
>>>>>>>> Von: "张文杰"<157724595 at 163.com>
>>>>>>>> An: "Metge Jean-Jacques"<Jean-Jacques.Metge at cnes.fr>
>>>>>>>> CC: RTEMS Users<rtems-users at rtems.org>
>>>>>>>> Betreff: RE: GSOC2011 project RTEMS HyperVisor
>>>>>>>> AIR/AIR IIseems that it hasimplemented ARINC 653 interface in RTEMS,
>>>>>>
>>>>>> but i
>>>>>>>>
>>>>>>>> do
>>>>>>>> not know if these implements is opened. If it is opened we also
>>>>
>>>> modify
>>>>>>>>
>>>>>>>> their work,
>>>>>>>> Because ARINC 653 interface should be based on Hypervisor
>>>>
>>>> architecture
>>>>>>>>
>>>>>>>> whereas
>>>>>>>> AIR implement is based on native RTEMS. XtratuM is a independent
>>>>>>>> Hypervisor which
>>>>>>>> has nothing to do with other OS, but my thought is to add a
>>>>
>>>> Hypervisor
>>>>>>
>>>>>> to
>>>>>>>>
>>>>>>>> RTEMS. Just
>>>>>>>> reference the implement of XtratuM
>>>>>>>>
>>>>>>>>
>>>>>>>> At 2011-03-21 16:21:12,"Metge Jean-Jacques"
>>>>>>
>>>>>> <Jean-Jacques.Metge at cnes.fr>
>>>>>>>>
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> For my information, what do you exactly intend to do in the frame of
>>>>>>
>>>>>> this
>>>>>>>>
>>>>>>>> GSOC, that would not have been already done, either in the frame of
>>>>>>
>>>>>> AIR/AIR
>>>>>>>>
>>>>>>>> II or in the frame of XtratuM ?
>>>>>>>>
>>>>>>>> Best regards
>>>>>>>>
>>>>>>>> Jean-Jacques METGE
>>>>>>>> French Space Agency
>>>>>>>>
>>>>>>>>
>>>>>>>> De :rtems-users-bounces at rtems.org
>>>>>>
>>>>>> [mailto:rtems-users-bounces at rtems.org]De
>>>>>>>>
>>>>>>>> la part de ???
>>>>>>>> Envoyé : dimanche 20 mars 2011 14:57
>>>>>>>> À : 张文杰
>>>>>>>> Cc : RTEMS Users
>>>>>>>> Objet : Re:GSOC2011 project RTEMS HyperVisor
>>>>>>>>
>>>>>>>>
>>>>>>>> Sorry for forgetting add the reference link.
>>>>>>>> [1]. http://www.rtems.com/wiki/index.php/RTEMSHyperVisor
>>>>>>>> [2]. http://air.di.fc.ul.pt/air/?Home
>>>>>>>> [3].http://www.xtratum.org/
>>>>>>>> [4]. http://www.helenos.org/
>>>>>>>>
>>>>>>>>
>>>>>>>> At 2011-03-20 21:50:39,"张文杰"<157724595 at 163.com>  wrote:
>>>>>>>> Hi, all:
>>>>>>>> I am a student who is preparing for participating the GSOC2011
>>>>
>>>> RTEMS.
>>>>>>
>>>>>> My
>>>>>>>>
>>>>>>>> interested project isRTEMS HyperVisor [1]. This
>>>>>>>> project ‘s ultimate goal is to make RTEMS support to run multiple
>>>>>>>> operating systems(like Linux or uclinux) and meantime RTEMS can be
>>>>>>>> adapted to fullfill the requirements defined in the ARINC 653
>>>>
>>>> standard.
>>>>>>
>>>>>> So
>>>>>>>>
>>>>>>>> the project is divided into two milestone tasks: 1) add a HyperVisor
>>>>
>>>> to
>>>>>>>>
>>>>>>>> RTEMS. the design of HyperVisor is compatible with ARINC 653
>>>>
>>>> standard.
>>>>>>
>>>>>> 2).
>>>>>>>>
>>>>>>>> implement ARINC 653 interface in
>>>>>>>> RTEMS which can reference the a ESA project named AIR[2].
>>>>>>>> Hypervisor, also called virtual machine monitor (VMM), is one of
>>>>>>>> virtualization techniqueswhich allow multiple operating systems.
>>>>>>>> For embedded systems it must have real-time capability. And there is
>>>>>>
>>>>>> also
>>>>>>>>
>>>>>>>> a challenge to the resource-constrained embedded
>>>>>>>> systems, becausesupport for virtualization requiresmemory protection
>>>>>>
>>>>>> (in
>>>>>>>>
>>>>>>>> the form of a memory management unit or at least a
>>>>>>>> memory protection unit) and a distinction between user mode and
>>>>>>
>>>>>> privileged
>>>>>>>>
>>>>>>>> mode, which rules out many microcontrollers. About the implement of
>>>>>>>> HyperVisor for RTEMS there are two projects we can reference. First
>>>>
>>>> is
>>>>>>
>>>>>> project
>>>>>>>>
>>>>>>>> XtratuM [3] which is a small
>>>>>>>> native (bare-metal) hypervisor, now the RTEMS has been ported to
>>>>>>
>>>>>> XtratuM
>>>>>>>>
>>>>>>>> run as a guest OS and its design use ARINC 653 as
>>>>>>>> a reference although ARINC-653 is not directly applicable to the
>>>>>>>> hypervisor systems. Another project is HelenOS operating
>>>>>>>> system [4] which is designed as a relatively small microkernel
>>>>
>>>> assisted
>>>>>>>>
>>>>>>>> with a set of userspace drivers and server tasks, Its kernel
>>>>>>>> is a good reference candidate for the design of Hypervisor.
>>>>>>>> This is just my initial thoughts, if there is any inappropriate
>>>>
>>>> please
>>>>>>>>
>>>>>>>> point out.Do not hesitate to add your comments.
>>>>>>>>
>>>>>>>> Wenjie Zhang
>>>>>>>> Best Regards
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> --
>>>>>>> GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit
>>>>>>> gratis Handy-Flat! http://portal.gmx.net/de/go/dsl
>>>>>
>>>>> --
>>>>> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
>>>>> belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
>>>>> _______________________________________________
>>>>> rtems-users mailing list
>>>>> rtems-users at rtems.org
>>>>> http://www.rtems.org/mailman/listinfo/rtems-users
>>>>>
>>> --
>>> GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit
>>> gratis Handy-Flat! http://portal.gmx.net/de/go/dsl
>>>
>
>




More information about the users mailing list