summaryrefslogblamecommitdiffstats
path: root/testsuites/sptests/spfatal_support/system.h
blob: 0a01e21d70bcd3aa92116f572647e6c92cdef8d3 (plain) (tree)
1
2
3
4
5
6
7
8
9
10




                                                                    
                            



                                                           
                                         




                                                                          



                        
                  






                              
                     


                                 

  




                  
                                             



                                         
 
                                                  


                                               




                                                                 















                                                 

                              


















                                                          
/*  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 */