- split fileio handling into fileio part and image handling
[openocd.git] / src / target / xscale.h
1 /***************************************************************************
2 * Copyright (C) 2005 by Dominic Rath *
3 * Dominic.Rath@gmx.de *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19 ***************************************************************************/
20 #ifndef XSCALE_H
21 #define XSCALE_H
22
23 #include "target.h"
24 #include "register.h"
25 #include "armv4_5.h"
26 #include "armv4_5_mmu.h"
27
28 #define XSCALE_COMMON_MAGIC 0x58534341
29
30 typedef struct xscale_jtag_s
31 {
32 /* position in JTAG scan chain */
33 int chain_pos;
34
35 /* IR length and instructions */
36 int ir_length;
37 u32 dbgrx;
38 u32 dbgtx;
39 u32 ldic;
40 u32 dcsr;
41 } xscale_jtag_t;
42
43 enum xscale_debug_reason
44 {
45 XSCALE_DBG_REASON_GENERIC,
46 XSCALE_DBG_REASON_RESET,
47 XSCALE_DBG_REASON_TB_FULL,
48 };
49
50 typedef struct xscale_common_s
51 {
52 int common_magic;
53
54 /* XScale registers (CP15, DBG) */
55 reg_cache_t *reg_cache;
56
57 /* pxa250, pxa255, pxa27x, ixp42x, ... */
58 char *variant;
59
60 xscale_jtag_t jtag_info;
61
62 /* current state of the debug handler */
63 int handler_installed;
64 int handler_running;
65 u32 handler_address;
66
67 /* target-endian buffers with exception vectors */
68 u32 low_vectors[8];
69 u32 high_vectors[8];
70
71 /* static low vectors */
72 u8 static_low_vectors_set; /* bit field with static vectors set by the user */
73 u8 static_high_vectors_set; /* bit field with static vectors set by the user */
74 u32 static_low_vectors[8];
75 u32 static_high_vectors[8];
76
77 /* DCache cleaning */
78 u32 cache_clean_address;
79
80 /* whether hold_rst and ext_dbg_break should be set */
81 int hold_rst;
82 int external_debug_break;
83
84 /* breakpoint / watchpoint handling */
85 int force_hw_bkpts;
86 int dbr_available;
87 int dbr0_used;
88 int dbr1_used;
89 int ibcr_available;
90 int ibcr0_used;
91 int ibcr1_used;
92 u32 arm_bkpt;
93 u16 thumb_bkpt;
94
95 u8 vector_catch;
96
97 int trace_buffer_enabled;
98 int trace_buffer_fill;
99
100 int arch_debug_reason;
101
102 /* armv4/5 common stuff */
103 armv4_5_common_t armv4_5_common;
104
105 /* MMU/Caches */
106 armv4_5_mmu_common_t armv4_5_mmu;
107 u32 cp15_control_reg;
108
109 /* possible future enhancements that go beyond XScale common stuff */
110 void *arch_info;
111 } xscale_common_t;
112
113 typedef struct xscale_reg_s
114 {
115 int dbg_handler_number;
116 target_t *target;
117 } xscale_reg_t;
118
119 enum
120 {
121 XSCALE_MAINID, /* 0 */
122 XSCALE_CACHETYPE,
123 XSCALE_CTRL,
124 XSCALE_AUXCTRL,
125 XSCALE_TTB,
126 XSCALE_DAC,
127 XSCALE_FSR,
128 XSCALE_FAR,
129 XSCALE_PID,
130 XSCALE_CPACCESS,
131 XSCALE_IBCR0, /* 10 */
132 XSCALE_IBCR1,
133 XSCALE_DBR0,
134 XSCALE_DBR1,
135 XSCALE_DBCON,
136 XSCALE_TBREG,
137 XSCALE_CHKPT0,
138 XSCALE_CHKPT1,
139 XSCALE_DCSR,
140 XSCALE_TX,
141 XSCALE_RX, /* 20 */
142 XSCALE_TXRXCTRL,
143 };
144
145 #endif /* XSCALE_H */

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)