annotate packages/hal/sh/cq7708/current/include/plf_stub.h @ 94:4642a6d35749 ecos-sw-2000-06-02

Merge from eCos master repository on 2000-06-02-07:47:04-BST
author jlarmour
date Fri, 02 Jun 2000 17:35:00 +0000
parents
children 5a0cc6c243a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
94
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_HAL_PLF_STUB_H
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
2 #define CYGONCE_HAL_PLF_STUB_H
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
3
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
4 //=============================================================================
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
5 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
6 // plf_stub.h
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
7 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
8 // Platform header for GDB stub support.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
9 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
10 //=============================================================================
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
11 //####COPYRIGHTBEGIN####
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
12 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
13 // -------------------------------------------
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
14 // The contents of this file are subject to the Red Hat eCos Public License
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
15 // Version 1.1 (the "License"); you may not use this file except in
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
16 // compliance with the License. You may obtain a copy of the License at
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
17 // http://www.redhat.com/
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
18 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
19 // Software distributed under the License is distributed on an "AS IS"
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
20 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
21 // License for the specific language governing rights and limitations under
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
22 // the License.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
23 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
24 // The Original Code is eCos - Embedded Configurable Operating System,
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
25 // released September 30, 1998.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
26 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
27 // The Initial Developer of the Original Code is Red Hat.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
28 // Portions created by Red Hat are
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
29 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
30 // All Rights Reserved.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
31 // -------------------------------------------
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
32 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
33 //####COPYRIGHTEND####
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
34 //=============================================================================
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
35 //#####DESCRIPTIONBEGIN####
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
36 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
37 // Author(s): jskov
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
38 // Contributors:jskov
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
39 // Date: 1999-05-18
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
40 // Purpose: Platform HAL stub support for Hitachi/CQ boards.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
41 // Usage: #include <cyg/hal/plf_stub.h>
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
42 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
43 //####DESCRIPTIONEND####
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
44 //
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
45 //=============================================================================
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
46
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
47 #include <pkgconf/system.h>
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
48 #include <pkgconf/hal.h>
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
49
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
50 #ifdef CYGPKG_IO_SERIAL
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
51 #include <pkgconf/io_serial.h>
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
52 #endif
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
53
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
54 #ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
55
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
56 #include <cyg/infra/cyg_type.h> // CYG_UNUSED_PARAM, externC
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
57
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
58 #include <cyg/hal/sh_stub.h> // architecture stub support
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
59
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
60 #include <cyg/hal/hal_diag.h> // hal_diag_led_on
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
61
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
62 //----------------------------------------------------------------------------
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
63 // Define serial stuff.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
64 externC void hal_sci_stub_init_serial( void );
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
65 externC int hal_sci_stub_get_char( void );
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
66 externC void hal_sci_stub_put_char( int c );
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
67 externC int hal_sci_stub_interruptible( int state );
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
68 externC void hal_sci_stub_init_break_irq( void );
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
69
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
70 #define HAL_STUB_PLATFORM_INIT_SERIAL() hal_sci_stub_init_serial()
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
71 #define HAL_STUB_PLATFORM_GET_CHAR() hal_sci_stub_get_char()
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
72 #define HAL_STUB_PLATFORM_PUT_CHAR(c) hal_sci_stub_put_char((c))
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
73 #define HAL_STUB_PLATFORM_SET_BAUD_RATE(baud) CYG_UNUSED_PARAM(int, (baud))
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
74 #define HAL_STUB_PLATFORM_INTERRUPTIBLE (&hal_sci_stub_interruptible)
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
75 #define HAL_STUB_PLATFORM_INIT_BREAK_IRQ() hal_sci_stub_init_break_irq()
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
76
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
77 //----------------------------------------------------------------------------
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
78 // Stub initializer.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
79 #ifdef CYGSEM_HAL_ROM_MONITOR
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
80 # define HAL_STUB_PLATFORM_INIT() hal_diag_led_on()
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
81 #else
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
82 # define HAL_STUB_PLATFORM_INIT() CYG_EMPTY_STATEMENT
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
83 #endif
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
84
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
85 //----------------------------------------------------------------------------
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
86 // Reset.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
87 // Block interrupts and cause an exception. This forces a reset.
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
88 #define HAL_STUB_PLATFORM_RESET() \
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
89 asm volatile ("ldc %0,sr;trapa #0x00;" : : "r" (CYGARC_REG_SR_BL))
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
90
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
91
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
92 #endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
93
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
94 //-----------------------------------------------------------------------------
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
95 #endif // CYGONCE_HAL_PLF_STUB_H
4642a6d35749 Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff changeset
96 // End of plf_stub.h