Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:57

0001 /**
0002  * @file
0003  *
0004  * @ingroup RTEMSBSPsPowerPCPSIM
0005  *
0006  * @brief Global BSP definitions.
0007  */
0008 
0009 /*  bsp.h
0010  *
0011  *  This include file contains all Papyrus board IO definitions.
0012  *
0013  *  Author: Andrew Bray <andy@i-cubed.co.uk>
0014  *
0015  *  COPYRIGHT (c) 1995 by i-cubed ltd.
0016  *
0017  *  To anyone who acknowledges that this file is provided "AS IS"
0018  *  without any express or implied warranty:
0019  *      permission to use, copy, modify, and distribute this file
0020  *      for any purpose is hereby granted without fee, provided that
0021  *      the above copyright notice and this notice appears in all
0022  *      copies, and that the name of i-cubed limited not be used in
0023  *      advertising or publicity pertaining to distribution of the
0024  *      software without specific, written prior permission.
0025  *      i-cubed limited makes no representations about the suitability
0026  *      of this software for any purpose.
0027  *
0028  *  Derived from c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h
0029  *
0030  *  COPYRIGHT (c) 1989-1999.
0031  *  On-Line Applications Research Corporation (OAR).
0032  *
0033  *  The license and distribution terms for this file may be
0034  *  found in the file LICENSE in this distribution or at
0035  *  http://www.rtems.org/license/LICENSE.
0036  */
0037 
0038 #ifndef LIBBSP_POWERPC_PSIM_BSP_H
0039 #define LIBBSP_POWERPC_PSIM_BSP_H
0040 
0041 /**
0042  * @defgroup RTEMSBSPsPowerPCPSIM PSIM
0043  *
0044  * @ingroup RTEMSBSPsPowerPC
0045  *
0046  * @brief PSIM Board Support Package.
0047  *
0048  * @{
0049  */
0050 
0051 #include <bspopts.h>
0052 
0053 #ifdef ASM
0054 /* Definition of where to store registers in alignment handler */
0055 #define ALIGN_REGS 0x0140
0056 
0057 #else
0058 #include <rtems.h>
0059 #include <libcpu/io.h>
0060 #include <bsp/vectors.h>
0061 #include <bsp/default-initial-extension.h>
0062 
0063 #ifdef __cplusplus
0064 extern "C" {
0065 #endif
0066 
0067 /* Constants */
0068 
0069 /*
0070  *  Information placed in the linkcmds file.
0071  */
0072 
0073 extern int   end;        /* last address in the program */
0074 extern int   RAM_END;
0075 
0076 extern uint32_t   BSP_mem_size;
0077 
0078 #define BSP_Convert_decrementer( _value ) ( (unsigned long long) _value )
0079 
0080 /* macros */
0081 #define Processor_Synchronize() \
0082   __asm__ (" eieio ")
0083 
0084 /*
0085  *  Network configuration
0086  */
0087 struct rtems_bsdnet_ifconfig;
0088 
0089 int rtems_ifsim_attach(struct rtems_bsdnet_ifconfig *ifcfg, int attaching);
0090 
0091 #define RTEMS_BSP_NETWORK_DRIVER_NAME   "ifsim1"
0092 #define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_ifsim_attach
0093 
0094 /*
0095  *  Interfaces to required Clock Driver support methods
0096  */
0097 int BSP_disconnect_clock_handler(void);
0098 int BSP_connect_clock_handler(void);
0099 
0100 #ifdef __cplusplus
0101 }
0102 #endif
0103 
0104 #endif /* ASM */
0105 
0106 #define BSP_HAS_NO_VME
0107 
0108 /** @} */
0109 
0110 #endif