RTEMS  5.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
bsp.h
Go to the documentation of this file.
1 
9 /*
10  * derived from helas403/include/bsp.h:
11  * Id: bsp.h,v 1.4 2001/06/18 17:01:48 joel Exp
12  * Author: Thomas Doerfler <td@imd.m.isar.de>
13  * IMD Ingenieurbuero fuer Microcomputertechnik
14  *
15  * COPYRIGHT (c) 1998 by IMD
16  *
17  * Changes from IMD are covered by the original distributions terms.
18  * This file has been derived from the papyrus BSP.
19  *
20  * Author: Andrew Bray <andy@i-cubed.co.uk>
21  *
22  * COPYRIGHT (c) 1995 by i-cubed ltd.
23  *
24  * To anyone who acknowledges that this file is provided "AS IS"
25  * without any express or implied warranty:
26  * permission to use, copy, modify, and distribute this file
27  * for any purpose is hereby granted without fee, provided that
28  * the above copyright notice and this notice appears in all
29  * copies, and that the name of i-cubed limited not be used in
30  * advertising or publicity pertaining to distribution of the
31  * software without specific, written prior permission.
32  * i-cubed limited makes no representations about the suitability
33  * of this software for any purpose.
34  *
35  * Derived from c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h
36  *
37  * COPYRIGHT (c) 1989-1999.
38  * On-Line Applications Research Corporation (OAR).
39  *
40  * The license and distribution terms for this file may be
41  * found in the file LICENSE in this distribution or at
42  * http://www.rtems.org/license/LICENSE.
43  *
44  */
45 
46 #ifndef LIBBSP_POWERPC_VIRTEX5_BSP_H
47 #define LIBBSP_POWERPC_VIRTEX5_BSP_H
48 
59 #include <bspopts.h>
60 
61 /*
62  * confdefs.h overrides for this BSP:
63  * - Interrupt stack space is not minimum if defined.
64  */
65 #define BSP_INTERRUPT_STACK_SIZE (16 * 1024)
66 
67 #ifdef ASM
68 /* Definition of where to store registers in alignment handler */
69 #define ALIGN_REGS 0x0140
70 
71 #else
72 #include <rtems.h>
74 
75 #ifdef __cplusplus
76 extern "C" {
77 #endif
78 
79 /*
80  * Bus Frequency
81  */
82 extern unsigned int BSP_bus_frequency;
83 /*
84  * Processor Clock Frequency
85  */
86 extern unsigned int BSP_processor_frequency;
87 /*
88  * Time base divisior (how many tick for 1 second).
89  */
90 extern unsigned int BSP_time_base_divisor;
91 
92 /*
93  * Macro used by shared MPC6xx timer driver
94  */
95 #define BSP_Convert_decrementer( _value ) \
96  ((unsigned long long) ((((unsigned long long)BSP_time_base_divisor) * 1000000ULL) /((unsigned long long) BSP_bus_frequency)) * ((unsigned long long) (_value)))
97 
98 /*
99  * Interfaces to required Clock Driver support methods
100  */
101 int BSP_disconnect_clock_handler(void);
102 int BSP_connect_clock_handler(void);
103 
104 /*
105  * Prototypes for BSP methods shared across file boundaries
106  */
107 void zero_bss(void);
108 
109 #endif /* ASM */
110 
111 void BSP_ask_for_reset(void);
112 
113 #ifdef __cplusplus
114 }
115 #endif
116 
119 #endif
DEFAULT_INITIAL_EXTENSION Support.
int BSP_connect_clock_handler(void)
Clock Tick Device Driver.
Definition: p_clock.c:37