Revision 3dd3a2b9 target-lm32/cpu.h

b/target-lm32/cpu.h
163 163

  
164 164
    /* debug registers */
165 165
    uint32_t dc;        /* debug control */
166
    uint32_t bp[4];     /* breakpoint addresses */
167
    uint32_t wp[4];     /* watchpoint addresses */
166
    uint32_t bp[4];     /* breakpoints */
167
    uint32_t wp[4];     /* watchpoints */
168

  
169
    CPUBreakpoint * cpu_breakpoint[4];
170
    CPUWatchpoint * cpu_watchpoint[4];
168 171

  
169 172
    CPU_COMMON
170 173

  
......
181 184

  
182 185
};
183 186

  
187
typedef enum {
188
    LM32_WP_DISABLED = 0,
189
    LM32_WP_READ,
190
    LM32_WP_WRITE,
191
    LM32_WP_READ_WRITE,
192
} lm32_wp_t;
193

  
194
static inline lm32_wp_t lm32_wp_type(uint32_t dc, int idx)
195
{
196
    assert(idx < 4);
197
    return (dc >> (idx+1)*2) & 0x3;
198
}
199

  
184 200
#include "cpu-qom.h"
185 201

  
186 202
LM32CPU *cpu_lm32_init(const char *cpu_model);
......
193 209
void lm32_cpu_list(FILE *f, fprintf_function cpu_fprintf);
194 210
void lm32_translate_init(void);
195 211
void cpu_lm32_set_phys_msb_ignore(CPULM32State *env, int value);
212
void QEMU_NORETURN raise_exception(CPULM32State *env, int index);
213
void lm32_debug_excp_handler(CPULM32State *env);
214
void lm32_breakpoint_insert(CPULM32State *env, int index, target_ulong address);
215
void lm32_breakpoint_remove(CPULM32State *env, int index);
216
void lm32_watchpoint_insert(CPULM32State *env, int index, target_ulong address,
217
        lm32_wp_t wp_type);
218
void lm32_watchpoint_remove(CPULM32State *env, int index);
196 219

  
197 220
static inline CPULM32State *cpu_init(const char *cpu_model)
198 221
{

Also available in: Unified diff