Note: This test currently only works with a board with a Tsi148 like the MVME2500. For other boards it will print only a message. --- libbsd.py | 2 + testsuite/vme01/test_main.c | 80 +++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 testsuite/vme01/test_main.c
diff --git a/libbsd.py b/libbsd.py index b05ea069..3fa2c8f3 100644 --- a/libbsd.py +++ b/libbsd.py @@ -5631,6 +5631,8 @@ class tests(builder.Module): self.addTest(mm.generator['test']('openssl01', ['test_main'])) self.addTest(mm.generator['test']('openssl02', ['test_main'])) self.addTest(mm.generator['test']('tcpdump01', ['test_main'])) + self.addTest(mm.generator['test']('vme01', ['test_main'], + runTest = False)) def load(mm): diff --git a/testsuite/vme01/test_main.c b/testsuite/vme01/test_main.c new file mode 100644 index 00000000..fe6c1072 --- /dev/null +++ b/testsuite/vme01/test_main.c @@ -0,0 +1,80 @@ +/** + * @file + * + * @brief A test for VME interrupts. + */ + +/* SPDX-License-Identifier: BSD-2-Clause */ + +/* + * Copyright (C) 2023 embedded brains GmbH & Co. KG + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#define TEST_NAME "LIBBSD VME 1" + +#include <assert.h> +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> + +#include <bsp.h> +#include <rtems/bsd/modules.h> +#if defined(RTEMS_BSD_MODULE_TSI148) && defined(LIBBSP_POWERPC_QORIQ_BSP_H) + +#include <bsp/vmeTsi148.h> + +static void +test_main(void) +{ + int error = 0; + + for (int vec = 42; vec < 43; ++vec) { + for (int lvl = 7; lvl > 0; --lvl) { + int x = vmeTsi148IntLoopbackTst(lvl, vec); + printf("Tsi Interrupt test lvl %d, vec %d: %d\n", + lvl, vec, x); + if (x != 0) { + error = x; + } + } + } + + exit(error); +} + +#else /* RTEMS_BSD_MODULE_TSI148 */ + +static void +test_main(void) +{ + puts("VME not enabled in the current build set or not available on this BSP."); + exit(0); +} + +#endif /* RTEMS_BSD_MODULE_TSI148 */ + +#define RTEMS_BSD_CONFIG_BSP_CONFIG + +#include <rtems/bsd/test/default-init.h> + -- 2.35.3 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel