OpenOCD
aarch64.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 /***************************************************************************
4  * Copyright (C) 2015 by David Ung *
5  ***************************************************************************/
6 
7 #ifndef OPENOCD_TARGET_AARCH64_H
8 #define OPENOCD_TARGET_AARCH64_H
9 
10 #include "armv8.h"
11 
12 #define AARCH64_COMMON_MAGIC 0x41413634U
13 
14 #define CPUDBG_CPUID 0xD00
15 #define CPUDBG_CTYPR 0xD04
16 #define CPUDBG_TTYPR 0xD0C
17 #define ID_AA64PFR0_EL1 0xD20
18 #define ID_AA64DFR0_EL1 0xD28
19 
20 #define BRP_NORMAL 0
21 #define BRP_CONTEXT 1
22 
23 #define AARCH64_PADDRDBG_CPU_SHIFT 13
24 
28 };
29 
30 struct aarch64_brp {
31  int used;
32  int type;
34  uint32_t control;
35  uint8_t brpn;
36 };
37 
39  unsigned int common_magic;
40 
42 
43  /* Context information */
46 
47  /* Breakpoint register pairs */
49  int brp_num;
52 
53  /* Watchpoint register pairs */
54  int wp_num;
57 
59 };
60 
61 static inline struct aarch64_common *
63 {
65 }
66 
67 #endif /* OPENOCD_TARGET_AARCH64_H */
static struct aarch64_common * target_to_aarch64(struct target *target)
Definition: aarch64.h:62
aarch64_isrmasking_mode
Definition: aarch64.h:25
@ AARCH64_ISRMASK_ON
Definition: aarch64.h:27
@ AARCH64_ISRMASK_OFF
Definition: aarch64.h:26
uint8_t brpn
Definition: aarch64.h:35
target_addr_t value
Definition: aarch64.h:33
int type
Definition: aarch64.h:32
uint32_t control
Definition: aarch64.h:34
int used
Definition: aarch64.h:31
unsigned int common_magic
Definition: aarch64.h:39
int wp_num_available
Definition: aarch64.h:55
struct aarch64_brp * wp_list
Definition: aarch64.h:56
int brp_num_available
Definition: aarch64.h:50
uint64_t system_control_reg_curr
Definition: aarch64.h:45
struct aarch64_brp * brp_list
Definition: aarch64.h:51
enum aarch64_isrmasking_mode isrmasking_mode
Definition: aarch64.h:58
uint64_t system_control_reg
Definition: aarch64.h:44
int brp_num_context
Definition: aarch64.h:48
struct arm arm
Definition: armv8.h:188
Definition: target.h:119
void * arch_info
Definition: target.h:174
uint64_t target_addr_t
Definition: types.h:279
#define container_of(ptr, type, member)
Cast a member of a structure out to the containing structure.
Definition: types.h:68