blob: 69fb03309337d6c27f629dedfdf34e4697e241d6 [file] [log] [blame]
/* syskernel.h */
/*
* Copyright (c) 1997-2010, 2014 Wind River Systems, Inc.
*
*SPDX-License-Identifier: Apache-2.0
*/
#ifndef SYSKERNEK_H
#define SYSKERNEK_H
#include <zephyr/timestamp.h>
#include <stdio.h>
#include <zephyr/toolchain.h>
#define STACK_SIZE 2048
#if CONFIG_SRAM_SIZE <= 32
#define NUMBER_OF_LOOPS 100
#else
#define NUMBER_OF_LOOPS 1000
#endif
K_THREAD_STACK_DECLARE(thread_stack1, STACK_SIZE);
K_THREAD_STACK_DECLARE(thread_stack2, STACK_SIZE);
extern struct k_thread thread_data1;
extern struct k_thread thread_data2;
extern FILE *output_file;
extern const char sz_success[];
extern const char sz_partial[];
extern const char sz_fail[];
extern uint32_t number_of_loops;
#define sz_module_title_fmt "\nMODULE: %s"
#define sz_module_result_fmt "\n\nPROJECT EXECUTION %s\n"
#define sz_module_end_fmt "\nEND MODULE"
#define sz_date_fmt "\nBUILD_DATE: %s %s"
#define sz_kernel_ver_fmt "\nKERNEL VERSION: 0x%x"
#define sz_description "\nTEST COVERAGE: %s"
#define sz_test_case_fmt "\n\nTEST CASE: %s"
#define sz_test_start_fmt "\nStarting test. Please wait..."
#define sz_case_result_fmt "\nTEST RESULT: %s"
#define sz_case_details_fmt "\nDETAILS: %s"
#define sz_case_end_fmt "\nEND TEST CASE"
#define sz_case_timing_fmt "%u nSec"
int check_result(int i, uint32_t ticks);
int sema_test(void);
int lifo_test(void);
int fifo_test(void);
int stack_test(void);
int mem_slab_test(void);
void begin_test(void);
static inline uint32_t BENCH_START(void)
{
uint32_t et;
begin_test();
et = TIME_STAMP_DELTA_GET(0);
return et;
}
#endif /* SYSKERNEK_H */