forked from Imagelibrary/rtems
This change adds rtems_printf and related functions and wraps the RTEMS print plugin support into a user API. All references to the plugin are removed and replaced with the rtems_printer interface. Printk and related functions are made to return a valid number of characters formatted and output. The function attribute to check printf functions has been added to rtems_printf and printk. No changes to remove warrnings are part of this patch set. The testsuite has been moved over to the rtems_printer. The testsuite has a mix of rtems_printer access and direct print control via the tmacros.h header file. The support for begink/endk has been removed as it served no purpose and only confused the code base. The testsuite has not been refactored to use rtems_printf. This is future work.
92 lines
2.1 KiB
C
92 lines
2.1 KiB
C
/* system.h
|
|
*
|
|
* This include file contains information that is included in every
|
|
* function in the test set.
|
|
*
|
|
* COPYRIGHT (c) 1989-2009.
|
|
* On-Line Applications Research Corporation (OAR).
|
|
*
|
|
* The license and distribution terms for this file may be
|
|
* found in the file LICENSE in this distribution or at
|
|
* http://www.rtems.org/license/LICENSE.
|
|
*/
|
|
|
|
/*
|
|
* Some of the fatal error cases require the ability to peek inside RTEMS
|
|
*/
|
|
|
|
#define TESTS_USE_PRINTK
|
|
#include "tmacros.h"
|
|
|
|
#include <rtems.h>
|
|
|
|
/* functions */
|
|
|
|
rtems_task Init(
|
|
rtems_task_argument argument
|
|
);
|
|
|
|
void Fatal_extension(
|
|
rtems_fatal_source source,
|
|
bool is_internal,
|
|
rtems_fatal_code error
|
|
);
|
|
|
|
void Put_Error(
|
|
uint32_t source,
|
|
uint32_t error
|
|
);
|
|
|
|
void Put_Source( rtems_fatal_source source );
|
|
|
|
void force_error(void);
|
|
|
|
/* need some prototypes for test cases */
|
|
|
|
rtems_device_driver consume_semaphores_initialize(
|
|
rtems_device_major_number major RTEMS_UNUSED,
|
|
rtems_device_minor_number minor RTEMS_UNUSED,
|
|
void *pargp RTEMS_UNUSED
|
|
);
|
|
|
|
#define CONSUME_SEMAPHORE_DRIVERS \
|
|
{ consume_semaphores_initialize, NULL, NULL, NULL, NULL, NULL }
|
|
|
|
#include "testcase.h"
|
|
|
|
/* configuration information */
|
|
|
|
extern rtems_extensions_table initial_extensions;
|
|
|
|
#define CONFIGURE_INITIAL_EXTENSIONS \
|
|
{ \
|
|
NULL, /* create */ \
|
|
NULL, /* start */ \
|
|
NULL, /* restart */ \
|
|
NULL, /* delete */ \
|
|
NULL, /* switch */ \
|
|
NULL, /* begin */ \
|
|
NULL, /* exitted */ \
|
|
Fatal_extension /* fatal */ \
|
|
}, \
|
|
RTEMS_TEST_INITIAL_EXTENSION
|
|
|
|
/* extra parameters may be in testcase.h */
|
|
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
|
|
/* always need an Init task, some cases need more tasks */
|
|
#ifndef SPFATAL_TEST_CASE_EXTRA_TASKS
|
|
#define SPFATAL_TEST_CASE_EXTRA_TASKS 0
|
|
#endif
|
|
#define CONFIGURE_MAXIMUM_TASKS \
|
|
(SPFATAL_TEST_CASE_EXTRA_TASKS + 1)
|
|
|
|
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
|
|
#include <rtems/confdefs.h>
|
|
|
|
/* global variables */
|
|
|
|
/* end of include file */
|