]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/hal/arm/xscale/triton/v2_0/include/plf_stub.h
Initial revision
[karo-tx-redboot.git] / packages / hal / arm / xscale / triton / v2_0 / include / plf_stub.h
1 #ifndef CYGONCE_HAL_PLF_STUB_H
2 #define CYGONCE_HAL_PLF_STUB_H
3
4 //=============================================================================
5 //
6 //      plf_stub.h
7 //
8 //      Platform header for GDB stub support.
9 //
10 //#####ECOSGPLCOPYRIGHTBEGIN####
11 //## -------------------------------------------
12 //## This file is part of eCos, the Embedded Configurable Operating System.
13 //## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
14 //##
15 //## eCos is free software; you can redistribute it and/or modify it under
16 //## the terms of the GNU General Public License as published by the Free
17 //## Software Foundation; either version 2 or (at your option) any later version.
18 //##
19 //## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
20 //## WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 //## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
22 //## for more details.
23 //##
24 //## You should have received a copy of the GNU General Public License along
25 //## with eCos; if not, write to the Free Software Foundation, Inc.,
26 //## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
27 //##
28 //## As a special exception, if other files instantiate templates or use macros
29 //## or inline functions from this file, or you compile this file and link it
30 //## with other works to produce a work based on this file, this file does not
31 //## by itself cause the resulting work to be covered by the GNU General Public
32 //## License. However the source code for this file must still be made available
33 //## in accordance with section (3) of the GNU General Public License.
34 //##
35 //## This exception does not invalidate any other reasons why a work based on
36 //## this file might be covered by the GNU General Public License.
37 //##
38 //## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
39 //## at http://sources.redhat.com/ecos/ecos-license/
40 //## -------------------------------------------
41 //#####ECOSGPLCOPYRIGHTEND####
42 //#####DESCRIPTIONBEGIN####
43 //
44 // Author(s):   msalter
45 // Contributors:jskov, gthomas, msalter
46 // Date:        2000-10-10
47 // Purpose:     Platform HAL stub support for Ka-Ro TRITON boards.
48 // Usage:       #include <cyg/hal/plf_stub.h>
49 //              
50 //####DESCRIPTIONEND####
51 //
52 //=============================================================================
53
54 #include <pkgconf/hal.h>
55 #include <pkgconf/hal_arm_xscale_triton.h>
56
57 #ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
58
59 #include <cyg/infra/cyg_type.h>         // CYG_UNUSED_PARAM
60
61 #include <cyg/hal/arm_stub.h>           // architecture stub support
62
63 //----------------------------------------------------------------------------
64 // Define some platform specific communication details. This is mostly
65 // handled by hal_if now, but we need to make sure the comms tables are
66 // properly initialized.
67
68 externC void cyg_hal_plf_comms_init(void);
69
70 #define HAL_STUB_PLATFORM_INIT_SERIAL()       cyg_hal_plf_comms_init()
71
72 #define HAL_STUB_PLATFORM_SET_BAUD_RATE(baud) CYG_UNUSED_PARAM(int, (baud))
73 #define HAL_STUB_PLATFORM_INTERRUPTIBLE       0
74 #define HAL_STUB_PLATFORM_INIT_BREAK_IRQ()    CYG_EMPTY_STATEMENT
75
76 //----------------------------------------------------------------------------
77 // Stub initializer.
78 #define HAL_STUB_PLATFORM_INIT()              CYG_EMPTY_STATEMENT
79
80 #endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
81
82 //----------------------------------------------------------------------------
83 // Reset.
84 #include <cyg/hal/hal_triton.h>        // registers
85 #include <cyg/hal/hal_io.h>             // IO macros
86
87 // FIXME - Can we reset the board?
88 #define HAL_STUB_PLATFORM_RESET()   CYG_EMPTY_STATEMENT
89
90 #define HAL_STUB_PLATFORM_RESET_ENTRY 0x00000000
91
92 extern int   cyg_hal_plf_hw_breakpoint(int setflag, void *addr, int len);
93 extern int   cyg_hal_plf_hw_watchpoint(int setflag, void *addr, int len, int type);
94 extern int   cyg_hal_plf_is_stopped_by_hardware(void **paddr);
95
96 #define HAL_STUB_HW_BREAKPOINT(f,a,l)      cyg_hal_plf_hw_breakpoint((f),(a),(l))
97 #define HAL_STUB_HW_WATCHPOINT(f,a,l,t)    cyg_hal_plf_hw_watchpoint((f),(a),(l),(t))
98 #define HAL_STUB_IS_STOPPED_BY_HARDWARE(p) cyg_hal_plf_is_stopped_by_hardware(&(p))
99
100 //-----------------------------------------------------------------------------
101 #endif // CYGONCE_HAL_PLF_STUB_H
102 // End of plf_stub.h