The progress of GSOC2011

张文杰 157724595 at
Thu Jul 7 14:37:47 UTC 2011

In the sample test it uses rtems_task_wake_after() to preempt the task.
And i will check whether the clock tick is report to partition OS rightly. But
i am also confused why the first schedules cycle is running successfully.

Best Regards

At 2011-07-06 03:50:51,"Cláudio Silva" <claudiodcsilva at> wrote:

>How are you preempting the tasks in each partition? rtems_task_wake_after()?
>If so it is possible that the problem is in how the clock ticks are
>reported to each partition. Just before the partition starts
>executing, the PMK reports all the ticks that passed since the last
>time the partition ran.
>2011/7/5 张文杰 <157724595 at>:
>> Dear all mentors and rtems users:
>>   I am very glad to report the progress of GSOC2011 hypervisor for RTEMS. In
>> the past about one month my main work is to
>> merge the Hypervisor and partition OS which is based on rtems4.8.1 to the
>> latest RTEMS version. Until now i have basically
>> realized the goal that the sample test case can run successfully on this
>> platform despite of a small bug. By the way all above
>> work is based on LEON3 hardware platform.
>>   About the merge of Hypervisor the main work is to modify the LEON3 BSP
>> code and very little score code related to sparc cpu.
>> Because the Hypervisor kernel code is independent to RTEMS code and is also
>> build separately. So this part of merge is just a
>> patch for LEON3 BSP to RTEMS latest version.
>>   About the merge of Partition OS the main work is to development a new BSP
>> for all sparc architecture and also very little
>> modified code to score code related to sparc cpu. And another work is to
>> update the build environment of sample test including
>> Makefile and linkerfile
>>   And now the sample test can successfully schedule a cycle including four
>> partitions OS and each partition with three or four
>> tasks. But when it schedule the second cycle it will only execute each
>> partition OS‘ idle task. For example, the schedule table
>> arrange the schedule order as follow:
>> P1->P2->->P3->P4->P1->P2->P3->P4->......... and each partition OS arrange
>> its tasks
>> execution order is as follow :P1: P1A->P1B->P1C->P1idle     P2:
>> P2A->P2B->P2idle   P3: P3A->P3B->P3C->P3idle  P4: P4A->
>> P4B->P4C->P4idle.   so the first overall schedule cycle order is as follow:
>> P1A->P1B->P1C->P1idle->P2A->P2B->P2idle->P3A->P3B->P3C->P3idle->P4A->P4B->P4C->P4idle
>> The above is successfully test on the platform of Hypervisor and Partiton OS
>> all based on RTEMS4.11. But when the second
>> schedule cycle starts all the partiton OS is entering into idle tasks all
>> the time. Tobias, any idea about this problem?
>> Any comments is welcome.
>> Wenjie
>> Best Regards
>> _______________________________________________
>> rtems-users mailing list
>> rtems-users at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list