Commit 2d80065f authored by Daniel Silveira's avatar Daniel Silveira

Add TEST-DEF-01560

aae98fc3 - Add TEST-DEF-01390
105f6d29 - Add bare_c example
2dd36364 - Add TEST-DEF-01560
9cd3b8ad - Improved Makefiles
b7b29759 - Add TEST-DEF-01561
0d1f5c35 - Add TEST-DEF-01570
99fa7388 - Added ARM tests
1eb98292 - Set hello world with rtems 5
b4db8f6b - Removed refs to RTEMS48i
7b48b549 - Removing erroneous tests
20324ed4 - Validation Tests: Changed XML
ffa2608a - Validation tests: Revert some changes to XML
400e500c - Validation tests: Changes ARM emulator
ed72fb35 - Validation Tests: Added ARM keyword to testcheck.py
44ba215b - Removing failing arm test for future new issues
parent ffde8814
......@@ -5,6 +5,11 @@
variables:
GIT_CLEAN_FLAGS: none
stages:
- build
- examples
- validation_tests
default:
before_script:
- cd air
......@@ -29,9 +34,9 @@ default:
#Cronological order of jobs to be done
#To be divided in the future in multiple VMs
#Build SPARC
config_sparc:
stage: build
tags:
- sparc-taste-debian1
script:
......@@ -39,6 +44,7 @@ config_sparc:
- ./configure -f .sparc_config
build_sparc:
stage: build
tags:
- sparc-taste-debian1
script:
......@@ -47,6 +53,7 @@ build_sparc:
#Build for ARM
config_arm:
stage: build
tags:
- arm-taste-debian1
script:
......@@ -54,6 +61,7 @@ config_arm:
- ./configure -f .arm_config
build_arm:
stage: build
tags:
- arm-taste-debian1
script:
......@@ -74,6 +82,7 @@ build_arm:
#Example Tests for SPARC #
########################
hello_sparc:
stage: examples
tags:
- sparc-taste-debian1
script:
......@@ -85,6 +94,7 @@ hello_sparc:
name: SPARC LEON4
hm_sparc:
stage: examples
tags:
- sparc-taste-debian1
script:
......@@ -94,12 +104,26 @@ hm_sparc:
- cd $AIR
environment:
name: SPARC LEON4
bare_sparc:
stage: examples
tags:
- sparc-taste-debian1
script:
- cd $AIR/examples/bare_c
- cp $AIR/../utils/gitlab-runner/* .
- ./do_leon4_grmon.bash
- cd $AIR
environment:
name: SPARC LEON4
########################
#Unit Tests for SPARC #
########################
00009_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -111,6 +135,7 @@ hm_sparc:
name: SPARC LEON4
00010_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -122,6 +147,7 @@ hm_sparc:
name: SPARC LEON4
00012_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -135,6 +161,7 @@ hm_sparc:
00021_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -146,6 +173,7 @@ hm_sparc:
name: SPARC LEON4
00022_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -157,6 +185,7 @@ hm_sparc:
name: SPARC LEON4
00023_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -168,6 +197,7 @@ hm_sparc:
name: SPARC LEON4
00500_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -179,6 +209,7 @@ hm_sparc:
name: SPARC LEON4
00510_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -190,6 +221,7 @@ hm_sparc:
name: SPARC LEON4
00540_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -201,6 +233,7 @@ hm_sparc:
name: SPARC LEON4
00560_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -212,6 +245,7 @@ hm_sparc:
name: SPARC LEON4
00600_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
......@@ -222,7 +256,42 @@ hm_sparc:
environment:
name: SPARC LEON4
01390_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
- cd $AIR/examples/validation/TEST-DEF-01390
- cp $AIR/../utils/gitlab-runner/* .
- ./do_leon4_grmon.bash
- cd $AIR
environment:
name: SPARC LEON4
01561_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
- cd $AIR/examples/validation/TEST-DEF-01561
- cp $AIR/../utils/gitlab-runner/* .
- ./do_leon4_grmon.bash
- cd $AIR
environment:
name: SPARC LEON4
01570_sparc:
stage: validation_tests
tags:
- sparc-taste-debian1
script:
- cd $AIR/examples/validation/TEST-DEF-01570
- cp $AIR/../utils/gitlab-runner/* .
- ./do_leon4_grmon.bash
- cd $AIR
environment:
name: SPARC LEON4
########################
#Tests for ARM #
########################
......@@ -230,6 +299,7 @@ hm_sparc:
# - arm_qemu
00001_arm:
stage: examples
tags:
- arm-taste-debian1
script:
......@@ -246,6 +316,7 @@ hm_sparc:
name: ARM ZYNQZ1
hello_world_arm:
stage: examples
tags:
- arm-taste-debian1
script:
......@@ -260,3 +331,187 @@ hello_world_arm:
- cd $AIR
environment:
name: ARM ZYNQZ1
#00009_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-00009
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
#00010_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-00010
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
#00012_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-00012
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
#00021_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-00021
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
#00022_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-00022
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
#00023_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-00023
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
#00500_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-00500
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
00510_arm:
stage: validation_tests
tags:
- arm-taste-debian1
script:
- cd $AIR/examples/validation/TEST-DEF-00510
- cp $AIR/../utils/gitlab-runner/* .
- ./do_zynqz1_qemu.bash
- ./testcheck.py
- cd $AIR
environment:
name: ARM ZYNQZ1
00540_arm:
stage: validation_tests
tags:
- arm-taste-debian1
script:
- cd $AIR/examples/validation/TEST-DEF-00540
- cp $AIR/../utils/gitlab-runner/* .
- ./do_zynqz1_qemu.bash
- ./testcheck.py
- cd $AIR
environment:
name: ARM ZYNQZ1
00560_arm:
stage: validation_tests
tags:
- arm-taste-debian1
script:
- cd $AIR/examples/validation/TEST-DEF-00560
- cp $AIR/../utils/gitlab-runner/* .
- ./do_zynqz1_qemu.bash
- ./testcheck.py
- cd $AIR
environment:
name: ARM ZYNQZ1
#00600_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-00600
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
01390_arm:
stage: validation_tests
tags:
- arm-taste-debian1
script:
- cd $AIR/examples/validation/TEST-DEF-01390
- cp $AIR/../utils/gitlab-runner/* .
- ./do_zynqz1_qemu.bash
- ./testcheck.py
- cd $AIR
environment:
name: ARM ZYNQZ1
#01561_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-01561
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
#01570_arm:
# stage: validation_tests
# tags:
# - arm-taste-debian1
# script:
# - cd $AIR/examples/validation/TEST-DEF-01570
# - cp $AIR/../utils/gitlab-runner/* .
# - ./do_zynqz1_qemu.bash
# - ./testcheck.py
# - cd $AIR
# environment:
# name: ARM ZYNQZ1
......@@ -15,7 +15,7 @@
<Cache>CODE; DATA</Cache>
<Memory Size="0x100000" />
<Permissions>
FPU_CONTROL; CACHE_CONTROL; GLOBAL_TIME; SET_TOD; SET_PARTITION_MODE;
FPU_CONTROL; CACHE_CONTROL; GLOBAL_TIME; SET_TOD; SET_PARTITION_MODE; MODULE_CONTROL;
</Permissions>
</PartitionConfiguration>
</Partition>
......@@ -31,4 +31,4 @@
<!-- module configuration -->
<AIR_Configuration TicksPerSecond="100" RequiredCores="1"/>
</ARINC_653_Module>
\ No newline at end of file
</ARINC_653_Module>
......@@ -106,5 +106,5 @@ char message[] = {
void entry_point() {
air_syscall_print(message, sizeof(message));
for (;;);
air_syscall_shutdown_module();
}
......@@ -13,25 +13,25 @@
void entry_func() {
air_schedule_status_t status;
long int i = 0, sched_a_id, sched_b_id, sched_id;
long int sched_a_id, sched_b_id, sched_id;
air_syscall_get_schedule_id("schedA", &sched_a_id);
air_syscall_get_schedule_id("schedB", &sched_b_id);
while (1) {
for (int i = 1; i <12; i++) {
air_syscall_get_schedule_status(&status);
pprintf("Currently on schedule %d\n", status.current_schedule_id);
pprintf("Next Schedule: %d\n", status.next_schedule_id);
air_syscall_get_schedule_status(&status);
pprintf("Currently on schedule %d\n", status.current_schedule_id);
pprintf("Next Schedule: %d\n", status.next_schedule_id);
if(3 == i) {
if (status.current_schedule_id == sched_a_id) sched_id = sched_b_id;
if (status.current_schedule_id == sched_b_id) sched_id = sched_a_id;
air_syscall_set_schedule(sched_id);
pprintf("Changed next schedule to %d, starting on next MTF\n", sched_id);
i = 0;
}
if(i % 3 == 0) {
if (status.current_schedule_id == sched_a_id) sched_id = sched_b_id;
if (status.current_schedule_id == sched_b_id) sched_id = sched_a_id;
air_syscall_set_schedule(sched_id);
pprintf("Changed next schedule to %d, starting on next MTF\n", sched_id);
}
++i;
wake_after(50);
}
air_syscall_shutdown_module();
}
......@@ -13,7 +13,7 @@
<Libs>LIBAIR; LIBPRINTF</Libs>
<Cache>CODE; DATA</Cache>
<Memory Size="0x100000" />
<Permissions>CACHE_CONTROL; SET_PARTITION_MODE;</Permissions>
<Permissions>CACHE_CONTROL; SET_PARTITION_MODE; MODULE_CONTROL</Permissions>
</PartitionConfiguration>
</Partition>
......
......@@ -15,7 +15,7 @@
mtf="0.3"
ms_per_tick="2"
type="TEST_GMV_VAL"
personality="RTEMS48I">
personality="RTEMS5">
<description>
Call the pal_schedule_change function from an authorized partition
and check that the partitioning schedule is altered starting at the next
......
......@@ -15,7 +15,7 @@
mtf="0.3"
ms_per_tick="2"
type="TEST_GMV_VAL"
personality="RTEMS48I">
personality="RTEMS5">
<description>
Call the SET_MODULE_SCHEDULE function from an authorized partition
and check that the partitioning schedule is altered starting at the next
......
......@@ -158,7 +158,7 @@
Criticality="LEVEL_A"
SystemPartition="false"
EntryPoint="test_main">
<PartitionConfiguration Personality="RTEMS48I" Cores="1">
<PartitionConfiguration Personality="RTEMS5" Cores="1">
<Libs>LIBAIR;LIBPRINTF;IMASPEX;LIBTEST</Libs>
<Cache>CODE; DATA</Cache>
<Memory Size="0x500000" />
......@@ -173,7 +173,7 @@
Criticality="LEVEL_A"
SystemPartition="false"
EntryPoint="test_main">
<PartitionConfiguration Personality="RTEMS48I" Cores="1">
<PartitionConfiguration Personality="RTEMS5" Cores="1">
<Libs>LIBAIR;LIBPRINTF;IMASPEX;LIBTEST</Libs>
<Cache>CODE; DATA</Cache>
<Memory Size="0x500000" />
......@@ -190,7 +190,7 @@
Criticality="LEVEL_A"
SystemPartition="false"
EntryPoint="test_printf">
<PartitionConfiguration Personality="RTEMS48I" Cores="1">
<PartitionConfiguration Personality="RTEMS5" Cores="1">
<Libs>LIBAIR;LIBPRINTF;IMASPEX;LIBTEST</Libs>
<Cache>CODE; DATA</Cache>
<Memory Size="0x500000" />
......
......@@ -15,7 +15,7 @@
mtf="0.3"
ms_per_tick="2"
type="TEST_GMV_VAL"
personality="RTEMS48I">
personality="RTEMS5">
<description>
Repeat test TEST-DEF-00009 with more than one execution window for
partition 0.
......
......@@ -10,12 +10,29 @@
#include <rtems.h>
#include <imaspex.h>
#ifdef PMK_ARM_ZYNQZ1
#include <rtems/score/armv4.h>
#include <libcpu/arm-cp15.h>
/**
* @brief Install the HM handler
*/
void hm_handler_install(void *handler){
arm_cp15_set_exception_handler(ARM_EXCEPTION_DATA_ABORT, &_ARMV4_Exception_data_abort);
_ARMV4_Exception_data_abort_set_handler(handler);
arm_cp15_set_exception_handler(ARM_EXCEPTION_PREF_ABORT, &_ARMV4_Exception_prefetch_abort);
_ARMV4_Exception_prefetch_abort_set_handler(handler);
arm_cp15_set_exception_handler(ARM_EXCEPTION_UNDEF, &_ARMV4_Exception_prefetch_abort);
_ARMV4_Exception_prefetch_abort_set_handler(handler);
}
#endif /* PMK_ARM_ZYNQZ1 */
/**
* @brief Partition entry point
*/
extern int test_main() __attribute__ ((weak));
/**
* @brief Partition health-monitor callback
*/
......@@ -43,11 +60,10 @@ static void hm_isr_handler(void) {
rtems_task Init(rtems_task_argument ignored) {
/* register HM ISR handler */
rtems_isr_entry isr_ignored;
rtems_interrupt_catch(
(rtems_isr_entry)hm_isr_handler,
AIR_IRQ_HM_EVENT,
&isr_ignored);
hm_handler_install(hm_isr_handler);
/* initialize IMASPEX */
//imaspex_init();
/* call entry point */
if (test_main != NULL) {
......@@ -60,3 +76,7 @@ rtems_task Init(rtems_task_argument ignored) {
#include <rtems_config.h>
......@@ -10,12 +10,29 @@
#include <rtems.h>
#include <imaspex.h>
#ifdef PMK_ARM_ZYNQZ1
#include <rtems/score/armv4.h>
#include <libcpu/arm-cp15.h>
/**
* @brief Install the HM handler
*/
void hm_handler_install(void *handler){
arm_cp15_set_exception_handler(ARM_EXCEPTION_DATA_ABORT, &_ARMV4_Exception_data_abort);
_ARMV4_Exception_data_abort_set_handler(handler);
arm_cp15_set_exception_handler(ARM_EXCEPTION_PREF_ABORT, &_ARMV4_Exception_prefetch_abort);
_ARMV4_Exception_prefetch_abort_set_handler(handler);
arm_cp15_set_exception_handler(ARM_EXCEPTION_UNDEF, &_ARMV4_Exception_prefetch_abort);
_ARMV4_Exception_prefetch_abort_set_handler(handler);
}
#endif /* PMK_ARM_ZYNQZ1 */
/**
* @brief Partition entry point
*/
extern int test_main() __attribute__ ((weak));
/**
* @brief Partition health-monitor callback
*/
......@@ -43,11 +60,10 @@ static void hm_isr_handler(void) {
rtems_task Init(rtems_task_argument ignored) {
/* register HM ISR handler */
rtems_isr_entry isr_ignored;
rtems_interrupt_catch(
(rtems_isr_entry)hm_isr_handler,
AIR_IRQ_HM_EVENT,
&isr_ignored);
hm_handler_install(hm_isr_handler);
/* initialize IMASPEX */
//imaspex_init();
/* call entry point */
if (test_main != NULL) {
......@@ -60,3 +76,7 @@ rtems_task Init(rtems_task_argument ignored) {
#include <rtems_config.h>
......@@ -10,12 +10,29 @@
#include <rtems.h>
#include <imaspex.h>
#ifdef PMK_ARM_ZYNQZ1
#include <rtems/score/armv4.h>
#include <libcpu/arm-cp15.h>
/**
* @brief Install the HM handler
*/
void hm_handler_install(void *handler){
arm_cp15_set_exception_handler(ARM_EXCEPTION_DATA_ABORT, &_ARMV4_Exception_data_abort);
_ARMV4_Exception_data_abort_set_handler(handler);
arm_cp15_set_exception_handler(ARM_EXCEPTION_PREF_ABORT, &_ARMV4_Exception_prefetch_abort);
_ARMV4_Exception_prefetch_abort_set_handler(handler);
arm_cp15_set_exception_handler(ARM_EXCEPTION_UNDEF, &_ARMV4_Exception_prefetch_abort);
_ARMV4_Exception_prefetch_abort_set_handler(handler);
}
#endif /* PMK_ARM_ZYNQZ1 */
/**
* @brief Partition entry point
*/
extern int test_main() __attribute__ ((weak));
/**
* @brief Partition health-monitor callback
*/
......@@ -43,11 +60,10 @@ static void hm_isr_handler(void) {
rtems_task Init(rtems_task_argument ignored) {
/* register HM ISR handler */
rtems_isr_entry isr_ignored;
rtems_interrupt_catch(
(rtems_isr_entry)hm_isr_handler,
AIR_IRQ_HM_EVENT,
&isr_ignored);
hm_handler_install(hm_isr_handler);
/* initialize IMASPEX */
//imaspex_init();
/* call entry point */
if (test_main != NULL) {
......@@ -60,3 +76,7 @@ rtems_task Init(rtems_task_argument ignored) {
#include <rtems_config.h>