Commit 57580ada authored by Carolina Serra's avatar Carolina Serra

Merge remote-tracking branch 'origin/dev' into 40-arm-spcontext-test

parents 5e86c22e 562c4768
......@@ -31,6 +31,7 @@ stages:
- test_0009_sparc
- sconfig-arm
- sbuild-arm
- test_0001_arm
config_sparc:
stage: sconfig-sparc
......@@ -41,6 +42,7 @@ config_sparc:
build_sparc:
stage: sbuild-sparc
script:
- make clean
- make
config_arm:
......@@ -52,6 +54,7 @@ config_arm:
build_arm:
stage: sbuild-arm
script:
- make clean
- make
0009_sparc:
......@@ -63,8 +66,23 @@ build_arm:
- make
- cp $AIR/../utils/gitlab-runner/* .
- ls
- ./doit.sh
- ./do_leon4_grmon.sh
- ./testcheck.py
- cd $AIR
environment:
name: SPARC LEON4
0009_arm:
stage: test_0001_arm
script:
- cd $AIR/examples/arm_unit_tests/lionel
- configure
- make clean
- make
- cp $AIR/../utils/gitlab-runner/* .
- ls
- ./do_zynqz1_qemu.sh
- ./testcheck.py
- cd $AIR
environment:
name: ARM ZYNQZ1
......@@ -48,10 +48,10 @@
*/
#include <rtems.h>
#include <pmk_hm.h>
#include <pal.h>
#include <pal_pprintf.h>
#include <pal_test.h>
#include <air.h>
#include <air_test.h>
#include <P0testdef.h>
#include "../testdef.h"
......@@ -68,10 +68,10 @@ static char buf[NUMBER_OF_POINTS];
/* Test auxiliary functions ******************************************** */
/* Test HM callbacks *********************************************** */
void hm_part_callback (pmk_hm_err_id_e i_error,void *i_state) {
void partition_HM_callback(air_state_e state_id,air_error_e i_error) {
/* i_state is not really a pointer, this signature is required due to the
pal_callbacks function signature -> convert it into a relevant value */
//pmk_hm_state_id_e state = (pmk_hm_state_id_e) i_state;
//
/* signal error ocurrence */
unexp_error = 1;
return;
......
......@@ -14,10 +14,10 @@
not needed. */
#include <rtems.h>
#include <pmk_hm.h>
#include <pal.h>
#include <pal_pprintf.h>
#include <pal_test.h>
#include <air.h>
#include <air_test.h>
#include <P1testdef.h>
#include "../testdef.h"
......@@ -33,10 +33,10 @@ static char buf[NUMBER_OF_POINTS];
/* Test auxiliary functions ******************************************** */
/* Test HM callbacks *********************************************** */
void hm_part_callback (pmk_hm_err_id_e i_error,void *i_state) {
void partition_HM_callback(air_state_e state_id,air_error_e i_error) {
/* i_state is not really a pointer, this signature is required due to the
pal_callbacks function signature -> convert it into a relevant value */
pmk_hm_state_id_e state = (pmk_hm_state_id_e) i_state;
/* signal error ocurrence */
unexp_error = 1;
return;
......
......@@ -14,10 +14,10 @@
not needed. */
#include <rtems.h>
#include <pmk_hm.h>
#include <pal.h>
#include <pal_pprintf.h>
#include <pal_test.h>
#include <air.h>
#include <air_test.h>
#include <P2testdef.h>
#include "../testdef.h"
......@@ -33,10 +33,10 @@ static char buf[NUMBER_OF_POINTS];
/* Test auxiliary functions ******************************************** */
/* Test HM callbacks *********************************************** */
void hm_part_callback (pmk_hm_err_id_e i_error,void *i_state) {
void partition_HM_callback(air_state_e state_id,air_error_e i_error) {
/* i_state is not really a pointer, this signature is required due to the
pal_callbacks function signature -> convert it into a relevant value */
pmk_hm_state_id_e state = (pmk_hm_state_id_e) i_state;
/* signal error ocurrence */
unexp_error = 1;
return;
......
......@@ -4,15 +4,15 @@
/* *********************************************************************** */
#include <rtems.h>
#include <pmk_hm.h>
#include <pal.h>
#include <pal_pprintf.h>
#include <air.h>
#include <air_test.h>
/* Test Printf ******************************************************* */
int test_printf (void) {
while(1) {
pal_pprintf_process();
control_partition_init(1, TEST_MEMSHARE);
/* TODO : this value is somewhat random */
rtems_task_wake_after(1);
}
......
......@@ -35,7 +35,7 @@ int mtf_ticks = 50;
void partition_HM_callback(air_state_e state_id,air_error_e i_error) {
hm_was_called = i_error;
printf ("HM2 CALLED !!!\n");
return;
}
......@@ -49,7 +49,7 @@ int test_main (void) {
/* total test result */
int res = TEST_SUCCESS;
/* wait ticks before test end to print results */
int wait = 50;
int wait = 150;
test_enter(9); // this is new
/* since we are measuring execution windows, we should not use the
* current one, since it was already partially occupied by the
......@@ -78,6 +78,7 @@ int test_main (void) {
}
/* Test End */
rtems_task_wake_after(3000);
test_finish(res);
return 0;
......
......@@ -12,7 +12,7 @@
partitions="2"
test_end_partition="0"
repeat="1"
mtf="1.5"
mtf="0.3"
ms_per_tick="2"
type="TEST_GMV_VAL"
personality="RTEMS5">
......
......@@ -202,12 +202,50 @@
========================================================================================= -->
<!-- module schedule 1 -->
<Module_Schedule ScheduleIdentifier="0" ScheduleName="test_sched" InitialModuleSchedule="true" MajorFrameSeconds="1.5">
<Module_Schedule ScheduleIdentifier="0" ScheduleName="test_sched" InitialModuleSchedule="true" MajorFrameSeconds="0.3">
<Partition_Schedule PartitionIdentifier="0"
PartitionName="p0"
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="true">
<Window_Schedule WindowIdentifier="001"
WindowStartSeconds="0.0"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="1"
PartitionName="p1"
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="101"
WindowStartSeconds="0.1"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="2"
PartitionName="p2"
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="201"
WindowStartSeconds="0.2"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
</Module_Schedule>
<!-- module schedule 2 -->
<Module_Schedule ScheduleIdentifier="1" ScheduleName="test_sched2" InitialModuleSchedule="false" MajorFrameSeconds="1.5">
<Partition_Schedule PartitionIdentifier="0"
PartitionName="p0"
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5">
PeriodDurationSeconds="0.5"
SetModuleSchedule="true">
<Window_Schedule WindowIdentifier="001"
WindowStartSeconds="0.0"
WindowDurationSeconds="0.5"
......@@ -217,7 +255,8 @@
<Partition_Schedule PartitionIdentifier="1"
PartitionName="p1"
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5">
PeriodDurationSeconds="0.5"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="101"
WindowStartSeconds="0.5"
WindowDurationSeconds="0.5"
......@@ -227,7 +266,8 @@
<Partition_Schedule PartitionIdentifier="2"
PartitionName="p2"
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5">
PeriodDurationSeconds="0.5"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="201"
WindowStartSeconds="1.0"
WindowDurationSeconds="0.5"
......@@ -238,7 +278,7 @@
<!-- =========================================================================================
Partition Health Monitor Table
========================================================================================= -->
<Partition_HM_Table PartitionIdentifier="0" PartitionName="p0" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="0" PartitionName="p0" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......@@ -284,7 +324,7 @@
<Error_ID_Action Action="WARM_START" Description="Deadline Miss" ErrorIdentifier="13"/>
</System_State_Entry>
</Partition_HM_Table>
<Partition_HM_Table PartitionIdentifier="1" PartitionName="p1" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="1" PartitionName="p1" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......@@ -330,7 +370,7 @@
<Error_ID_Action Action="WARM_START" Description="Deadline Miss" ErrorIdentifier="13"/>
</System_State_Entry>
</Partition_HM_Table>
<Partition_HM_Table PartitionIdentifier="2" PartitionName="p2" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="2" PartitionName="p2" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......
......@@ -12,7 +12,7 @@
partitions="2"
test_end_partition="0"
repeat="1"
mtf="1.5"
mtf="0.3"
ms_per_tick="10"
type="TEST_GMV_VAL"
personality="RTEMS5">
......
......@@ -202,12 +202,50 @@
========================================================================================= -->
<!-- module schedule 1 -->
<Module_Schedule ScheduleIdentifier="0" ScheduleName="test_sched" InitialModuleSchedule="true" MajorFrameSeconds="1.5">
<Module_Schedule ScheduleIdentifier="0" ScheduleName="test_sched" InitialModuleSchedule="true" MajorFrameSeconds="0.3">
<Partition_Schedule PartitionIdentifier="0"
PartitionName="p0"
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="true">
<Window_Schedule WindowIdentifier="001"
WindowStartSeconds="0.0"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="1"
PartitionName="p1"
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="101"
WindowStartSeconds="0.1"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="2"
PartitionName="p2"
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="201"
WindowStartSeconds="0.2"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
</Module_Schedule>
<!-- module schedule 2 -->
<Module_Schedule ScheduleIdentifier="1" ScheduleName="test_sched2" InitialModuleSchedule="false" MajorFrameSeconds="1.5">
<Partition_Schedule PartitionIdentifier="0"
PartitionName="p0"
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5">
PeriodDurationSeconds="0.5"
SetModuleSchedule="true">
<Window_Schedule WindowIdentifier="001"
WindowStartSeconds="0.0"
WindowDurationSeconds="0.5"
......@@ -217,7 +255,8 @@
<Partition_Schedule PartitionIdentifier="1"
PartitionName="p1"
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5">
PeriodDurationSeconds="0.5"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="101"
WindowStartSeconds="0.5"
WindowDurationSeconds="0.5"
......@@ -227,7 +266,8 @@
<Partition_Schedule PartitionIdentifier="2"
PartitionName="p2"
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5">
PeriodDurationSeconds="0.5"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="201"
WindowStartSeconds="1.0"
WindowDurationSeconds="0.5"
......@@ -238,7 +278,7 @@
<!-- =========================================================================================
Partition Health Monitor Table
========================================================================================= -->
<Partition_HM_Table PartitionIdentifier="0" PartitionName="p0" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="0" PartitionName="p0" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......@@ -284,7 +324,7 @@
<Error_ID_Action Action="WARM_START" Description="Deadline Miss" ErrorIdentifier="13"/>
</System_State_Entry>
</Partition_HM_Table>
<Partition_HM_Table PartitionIdentifier="1" PartitionName="p1" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="1" PartitionName="p1" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......@@ -330,7 +370,7 @@
<Error_ID_Action Action="WARM_START" Description="Deadline Miss" ErrorIdentifier="13"/>
</System_State_Entry>
</Partition_HM_Table>
<Partition_HM_Table PartitionIdentifier="2" PartitionName="p2" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="2" PartitionName="p2" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......
......@@ -12,7 +12,7 @@
partitions="2"
test_end_partition="0"
repeat="1"
mtf="1.5"
mtf="0.3"
ms_per_tick="2"
type="TEST_GMV_VAL"
personality="RTEMS5">
......
......@@ -12,7 +12,7 @@
partitions="4"
test_end_partition="0"
repeat="1"
mtf="1.0"
mtf="0.3"
ms_per_tick="10"
type="TEST_GMV_VAL"
personality="RTEMS5"
......
......@@ -202,35 +202,75 @@
========================================================================================= -->
<!-- module schedule 1 -->
<Module_Schedule ScheduleIdentifier="0" ScheduleName="test_sched" InitialModuleSchedule="true" MajorFrameSeconds="0.6">
<Module_Schedule ScheduleIdentifier="0" ScheduleName="test_sched" InitialModuleSchedule="true" MajorFrameSeconds="0.3">
<Partition_Schedule PartitionIdentifier="0"
PartitionName="p0"
PeriodSeconds="0.6"
PeriodDurationSeconds="0.2">
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="true">
<Window_Schedule WindowIdentifier="001"
WindowStartSeconds="0.0"
WindowDurationSeconds="0.2"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="1"
PartitionName="p1"
PeriodSeconds="0.6"
PeriodDurationSeconds="0.2">
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="101"
WindowStartSeconds="0.1"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="2"
PartitionName="p2"
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="201"
WindowStartSeconds="0.2"
WindowDurationSeconds="0.2"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
</Module_Schedule>
<!-- module schedule 2 -->
<Module_Schedule ScheduleIdentifier="1" ScheduleName="test_sched2" InitialModuleSchedule="false" MajorFrameSeconds="1.5">
<Partition_Schedule PartitionIdentifier="0"
PartitionName="p0"
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5"
SetModuleSchedule="true">
<Window_Schedule WindowIdentifier="001"
WindowStartSeconds="0.0"
WindowDurationSeconds="0.5"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="1"
PartitionName="p1"
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="101"
WindowStartSeconds="0.5"
WindowDurationSeconds="0.5"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="2"
PartitionName="p2"
PeriodSeconds="0.6"
PeriodDurationSeconds="0.2">
PeriodSeconds="1.5"
PeriodDurationSeconds="0.5"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="201"
WindowStartSeconds="0.4"
WindowDurationSeconds="0.2"
WindowStartSeconds="1.0"
WindowDurationSeconds="0.5"
PartitionPeriodStart="true"/>
</Partition_Schedule>
</Module_Schedule>
......@@ -238,7 +278,7 @@
<!-- =========================================================================================
Partition Health Monitor Table
========================================================================================= -->
<Partition_HM_Table PartitionIdentifier="0" PartitionName="p0" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="0" PartitionName="p0" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......@@ -284,7 +324,7 @@
<Error_ID_Action Action="WARM_START" Description="Deadline Miss" ErrorIdentifier="13"/>
</System_State_Entry>
</Partition_HM_Table>
<Partition_HM_Table PartitionIdentifier="1" PartitionName="p1" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="1" PartitionName="p1" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......@@ -330,7 +370,7 @@
<Error_ID_Action Action="WARM_START" Description="Deadline Miss" ErrorIdentifier="13"/>
</System_State_Entry>
</Partition_HM_Table>
<Partition_HM_Table PartitionIdentifier="2" PartitionName="p2" PartitionCallback="hm_part_callback">
<Partition_HM_Table PartitionIdentifier="2" PartitionName="p2" PartitionCallback="partition_HM_callback">
<System_State_Entry Description="Partition Initialization" SystemState="2">
<Error_ID_Action Action="IGNORE" Description="Power Interrupt" ErrorIdentifier="0"/>
<Error_ID_Action Action="COLD_START" Description="Illegal Instruction" ErrorIdentifier="1"/>
......
......@@ -12,7 +12,7 @@
partitions="2"
test_end_partition="0"
repeat="1"
mtf="0.6"
mtf="0.3"
ms_per_tick="10"
type="TEST_GMV_VAL"
personality="RTEMS5"
......
......@@ -202,35 +202,75 @@
========================================================================================= -->
<!-- module schedule 1 -->
<Module_Schedule ScheduleIdentifier="0" ScheduleName="test_sched" InitialModuleSchedule="true" MajorFrameSeconds="0.6">
<Module_Schedule ScheduleIdentifier="0" ScheduleName="test_sched" InitialModuleSchedule="true" MajorFrameSeconds="0.3">
<Partition_Schedule PartitionIdentifier="0"
PartitionName="p0"
PeriodSeconds="0.6"
PeriodDurationSeconds="0.2">
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="true">
<Window_Schedule WindowIdentifier="001"
WindowStartSeconds="0.0"
WindowDurationSeconds="0.2"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="1"
PartitionName="p1"
PeriodSeconds="0.6"
PeriodDurationSeconds="0.2">
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="101"
WindowStartSeconds="0.1"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>
</Partition_Schedule>
<Partition_Schedule PartitionIdentifier="2"
PartitionName="p2"
PeriodSeconds="0.3"
PeriodDurationSeconds="0.1"
SetModuleSchedule="false">
<Window_Schedule WindowIdentifier="201"
WindowStartSeconds="0.2"
WindowDurationSeconds="0.2"
WindowDurationSeconds="0.1"
PartitionPeriodStart="true"/>