1 #ifndef CYGONCE_HAL_PLF_STUB_H
2 #define CYGONCE_HAL_PLF_STUB_H
4 //=============================================================================
8 // Platform header for GDB stub support.
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.
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.
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.
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.
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.
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.
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####
45 // Contributors:jskov, gthomas, msalter
47 // Purpose: Platform HAL stub support for Ka-Ro TRITON boards.
48 // Usage: #include <cyg/hal/plf_stub.h>
50 //####DESCRIPTIONEND####
52 //=============================================================================
54 #include <pkgconf/hal.h>
55 #include <pkgconf/hal_arm_xscale_triton.h>
57 #ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
59 #include <cyg/infra/cyg_type.h> // CYG_UNUSED_PARAM
61 #include <cyg/hal/arm_stub.h> // architecture stub support
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.
68 externC void cyg_hal_plf_comms_init(void);
70 #define HAL_STUB_PLATFORM_INIT_SERIAL() cyg_hal_plf_comms_init()
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
76 //----------------------------------------------------------------------------
78 #define HAL_STUB_PLATFORM_INIT() CYG_EMPTY_STATEMENT
80 #endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
82 //----------------------------------------------------------------------------
84 #include <cyg/hal/hal_triton.h> // registers
85 #include <cyg/hal/hal_io.h> // IO macros
87 // FIXME - Can we reset the board?
88 #define HAL_STUB_PLATFORM_RESET() CYG_EMPTY_STATEMENT
90 #define HAL_STUB_PLATFORM_RESET_ENTRY 0x00000000
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);
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))
100 //-----------------------------------------------------------------------------
101 #endif // CYGONCE_HAL_PLF_STUB_H