OpenOCD
mips_m4k.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 /***************************************************************************
4  * Copyright (C) 2008 by Spencer Oliver *
5  * spen@spen-soft.co.uk *
6  * *
7  * Copyright (C) 2008 by David T.L. Wong *
8  * *
9  * Copyright (C) 2011 by Drasko DRASKOVIC *
10  * drasko.draskovic@gmail.com *
11  ***************************************************************************/
12 
13 #ifndef OPENOCD_TARGET_MIPS_M4K_H
14 #define OPENOCD_TARGET_MIPS_M4K_H
15 
16 struct target;
17 
18 #define MIPSM4K_COMMON_MAGIC 0xB321B321U
19 
21  unsigned int common_magic;
22 
23  struct mips32_common mips32;
24 
25  bool is_pic32mx;
26 };
27 
28 static inline struct mips_m4k_common *
30 {
32  struct mips_m4k_common, mips32);
33 }
34 
35 static inline void mips_m4k_isa_filter(enum mips32_isa_imp isa_imp, target_addr_t *addr)
36 {
37  if (isa_imp <= 1) { /* if only one isa implemented */
38  target_addr_t address = (*addr & ~1) | isa_imp;
39 
40  if (address != *addr) {
41  LOG_USER("Warning: isa bit changed due to isa not implemented");
42  *addr = address;
43  }
44  }
45 }
46 
47 #endif /* OPENOCD_TARGET_MIPS_M4K_H */
#define LOG_USER(expr ...)
Definition: log.h:135
mips32_isa_imp
Definition: mips32.h:247
static struct mips_m4k_common * target_to_m4k(struct target *target)
Definition: mips_m4k.h:29
static void mips_m4k_isa_filter(enum mips32_isa_imp isa_imp, target_addr_t *addr)
Definition: mips_m4k.h:35
target_addr_t addr
Start address to search for the control block.
Definition: rtt/rtt.c:28
bool is_pic32mx
Definition: mips_m4k.h:25
struct mips32_common mips32
Definition: mips_m4k.h:23
unsigned int common_magic
Definition: mips_m4k.h:21
Definition: target.h:116
void * arch_info
Definition: target.h:164
uint64_t target_addr_t
Definition: types.h:335
#define container_of(ptr, type, member)
Cast a member of a structure out to the containing structure.
Definition: types.h:68