RTEMS 5.2
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
tm27.h
Go to the documentation of this file.
1
7/*
8 * Copyright (c) 2008
9 * Embedded Brains GmbH
10 * Obere Lagerstr. 30
11 * D-82178 Puchheim
12 * Germany
13 * rtems@embedded-brains.de
14 *
15 * The license and distribution terms for this file may be
16 * found in the file LICENSE in this distribution or at
17 * http://www.rtems.org/license/LICENSE.
18 */
19
20#ifndef _RTEMS_TMTEST27
21 #error "This is an RTEMS internal file you must not include directly."
22#endif /* _RTEMS_TMTEST27 */
23
24#ifndef TMTESTS_TM27_H
25#define TMTESTS_TM27_H
26
28#include <bsp/vectors.h>
29
30#define MUST_WAIT_FOR_INTERRUPT 1
31
32static void (*tm27_interrupt_handler)(rtems_vector_number);
33
34static int tm27_exception_handler( BSP_Exception_frame *frame, unsigned number)
35{
36 (*tm27_interrupt_handler)( 0);
37
38 return 0;
39}
40
41static void Install_tm27_vector( void (*handler)(rtems_vector_number))
42{
43 int rv = 0;
44
45 tm27_interrupt_handler = handler;
46
47 rv = ppc_exc_set_handler( ASM_DEC_VECTOR, tm27_exception_handler);
48 if (rv < 0) {
49 printk( "Error installing clock interrupt handler!\n");
50 }
51}
52
53#define Cause_tm27_intr() \
54 ppc_set_decrementer_register( 8)
55
56#define Clear_tm27_intr() \
57 ppc_set_decrementer_register( UINT32_MAX)
58
59#define Lower_tm27_intr() \
60 (void) ppc_external_exceptions_enable()
61
62#endif /* TMTESTS_TM27_H */
int printk(const char *fmt,...) RTEMS_PRINTFLIKE(1
Kernel Print.
PowerPC Exceptions API.
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
rtems_status_code ppc_exc_set_handler(unsigned vector, ppc_exc_handler_t hdl)
Set high-level exception handler.
Definition: ppc_exc_hdl.c:73
General purpose assembler macros, linker command file support and some inline functions for direct re...
The set of registers that specifies the complete processor state.
Definition: cpu.h:629