openocd: src/target: replace the GPL-2.0-or-later license tag
[fw/openocd] / src / target / mips_m4k.h
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    0xB321B321
19
20 struct mips_m4k_common {
21         uint32_t common_magic;
22         bool is_pic32mx;
23         struct mips32_common mips32;
24 };
25
26 static inline struct mips_m4k_common *
27 target_to_m4k(struct target *target)
28 {
29         return container_of(target->arch_info,
30                         struct mips_m4k_common, mips32);
31 }
32
33 static inline void mips_m4k_isa_filter(enum mips32_isa_imp isa_imp, target_addr_t  *addr)
34 {
35         if (isa_imp <= 1) {     /* if only one isa implemented */
36                 target_addr_t address = (*addr & ~1) | isa_imp;
37
38                 if (address != *addr) {
39                         LOG_USER("Warning: isa bit changed due to isa not implemented");
40                         *addr = address;
41                 }
42         }
43 }
44 extern const struct command_registration mips_m4k_command_handlers[];
45
46 #endif /* OPENOCD_TARGET_MIPS_M4K_H */