@@ -50,186 +50,186 @@ static int or1k_write_core_reg(struct target *target, int num);
static struct or1k_core_reg *or1k_core_reg_list_arch_info;
static const struct or1k_core_reg_init or1k_init_reg_list[] = {
{"r0" , GROUP0 + 1024, "org.gnu.gdb.or1k.group0", NULL},
{"r1" , GROUP0 + 1025, "org.gnu.gdb.or1k.group0", NULL},
{"r2" , GROUP0 + 1026, "org.gnu.gdb.or1k.group0", NULL},
{"r3" , GROUP0 + 1027, "org.gnu.gdb.or1k.group0", NULL},
{"r4" , GROUP0 + 1028, "org.gnu.gdb.or1k.group0", NULL},
{"r5" , GROUP0 + 1029, "org.gnu.gdb.or1k.group0", NULL},
{"r6" , GROUP0 + 1030, "org.gnu.gdb.or1k.group0", NULL},
{"r7" , GROUP0 + 1031, "org.gnu.gdb.or1k.group0", NULL},
{"r8" , GROUP0 + 1032, "org.gnu.gdb.or1k.group0", NULL},
{"r9" , GROUP0 + 1033, "org.gnu.gdb.or1k.group0", NULL},
{"r10" , GROUP0 + 1034, "org.gnu.gdb.or1k.group0", NULL},
{"r11" , GROUP0 + 1035, "org.gnu.gdb.or1k.group0", NULL},
{"r12" , GROUP0 + 1036, "org.gnu.gdb.or1k.group0", NULL},
{"r13" , GROUP0 + 1037, "org.gnu.gdb.or1k.group0", NULL},
{"r14" , GROUP0 + 1038, "org.gnu.gdb.or1k.group0", NULL},
{"r15" , GROUP0 + 1039, "org.gnu.gdb.or1k.group0", NULL},
{"r16" , GROUP0 + 1040, "org.gnu.gdb.or1k.group0", NULL},
{"r17" , GROUP0 + 1041, "org.gnu.gdb.or1k.group0", NULL},
{"r18" , GROUP0 + 1042, "org.gnu.gdb.or1k.group0", NULL},
{"r19" , GROUP0 + 1043, "org.gnu.gdb.or1k.group0", NULL},
{"r20" , GROUP0 + 1044, "org.gnu.gdb.or1k.group0", NULL},
{"r21" , GROUP0 + 1045, "org.gnu.gdb.or1k.group0", NULL},
{"r22" , GROUP0 + 1046, "org.gnu.gdb.or1k.group0", NULL},
{"r23" , GROUP0 + 1047, "org.gnu.gdb.or1k.group0", NULL},
{"r24" , GROUP0 + 1048, "org.gnu.gdb.or1k.group0", NULL},
{"r25" , GROUP0 + 1049, "org.gnu.gdb.or1k.group0", NULL},
{"r26" , GROUP0 + 1050, "org.gnu.gdb.or1k.group0", NULL},
{"r27" , GROUP0 + 1051, "org.gnu.gdb.or1k.group0", NULL},
{"r28" , GROUP0 + 1052, "org.gnu.gdb.or1k.group0", NULL},
{"r29" , GROUP0 + 1053, "org.gnu.gdb.or1k.group0", NULL},
{"r30" , GROUP0 + 1054, "org.gnu.gdb.or1k.group0", NULL},
{"r31" , GROUP0 + 1055, "org.gnu.gdb.or1k.group0", NULL},
{"ppc" , GROUP0 + 18, "org.gnu.gdb.or1k.group0", NULL},
{"npc" , GROUP0 + 16, "org.gnu.gdb.or1k.group0", NULL},
{"sr" , GROUP0 + 17, "org.gnu.gdb.or1k.group0", NULL},
{"vr" , GROUP0 + 0, "org.gnu.gdb.or1k.group0", "system"},
{"upr" , GROUP0 + 1, "org.gnu.gdb.or1k.group0", "system"},
{"cpucfgr" , GROUP0 + 2, "org.gnu.gdb.or1k.group0", "system"},
{"dmmucfgr" , GROUP0 + 3, "org.gnu.gdb.or1k.group0", "system"},
{"immucfgr" , GROUP0 + 4, "org.gnu.gdb.or1k.group0", "system"},
{"dccfgr" , GROUP0 + 5, "org.gnu.gdb.or1k.group0", "system"},
{"iccfgr" , GROUP0 + 6, "org.gnu.gdb.or1k.group0", "system"},
{"dcfgr" , GROUP0 + 7, "org.gnu.gdb.or1k.group0", "system"},
{"pccfgr" , GROUP0 + 8, "org.gnu.gdb.or1k.group0", "system"},
{"fpcsr" , GROUP0 + 20, "org.gnu.gdb.or1k.group0", "system"},
{"epcr0" , GROUP0 + 32, "org.gnu.gdb.or1k.group0", "system"},
{"epcr1" , GROUP0 + 33, "org.gnu.gdb.or1k.group0", "system"},
{"epcr2" , GROUP0 + 34, "org.gnu.gdb.or1k.group0", "system"},
{"epcr3" , GROUP0 + 35, "org.gnu.gdb.or1k.group0", "system"},
{"epcr4" , GROUP0 + 36, "org.gnu.gdb.or1k.group0", "system"},
{"epcr5" , GROUP0 + 37, "org.gnu.gdb.or1k.group0", "system"},
{"epcr6" , GROUP0 + 38, "org.gnu.gdb.or1k.group0", "system"},
{"epcr7" , GROUP0 + 39, "org.gnu.gdb.or1k.group0", "system"},
{"epcr8" , GROUP0 + 40, "org.gnu.gdb.or1k.group0", "system"},
{"epcr9" , GROUP0 + 41, "org.gnu.gdb.or1k.group0", "system"},
{"epcr10" , GROUP0 + 42, "org.gnu.gdb.or1k.group0", "system"},
{"epcr11" , GROUP0 + 43, "org.gnu.gdb.or1k.group0", "system"},
{"epcr12" , GROUP0 + 44, "org.gnu.gdb.or1k.group0", "system"},
{"epcr13" , GROUP0 + 45, "org.gnu.gdb.or1k.group0", "system"},
{"epcr14" , GROUP0 + 46, "org.gnu.gdb.or1k.group0", "system"},
{"epcr15" , GROUP0 + 47, "org.gnu.gdb.or1k.group0", "system"},
{"eear0" , GROUP0 + 48, "org.gnu.gdb.or1k.group0", "system"},
{"eear1" , GROUP0 + 49, "org.gnu.gdb.or1k.group0", "system"},
{"eear2" , GROUP0 + 50, "org.gnu.gdb.or1k.group0", "system"},
{"eear3" , GROUP0 + 51, "org.gnu.gdb.or1k.group0", "system"},
{"eear4" , GROUP0 + 52, "org.gnu.gdb.or1k.group0", "system"},
{"eear5" , GROUP0 + 53, "org.gnu.gdb.or1k.group0", "system"},
{"eear6" , GROUP0 + 54, "org.gnu.gdb.or1k.group0", "system"},
{"eear7" , GROUP0 + 55, "org.gnu.gdb.or1k.group0", "system"},
{"eear8" , GROUP0 + 56, "org.gnu.gdb.or1k.group0", "system"},
{"eear9" , GROUP0 + 57, "org.gnu.gdb.or1k.group0", "system"},
{"eear10" , GROUP0 + 58, "org.gnu.gdb.or1k.group0", "system"},
{"eear11" , GROUP0 + 59, "org.gnu.gdb.or1k.group0", "system"},
{"eear12" , GROUP0 + 60, "org.gnu.gdb.or1k.group0", "system"},
{"eear13" , GROUP0 + 61, "org.gnu.gdb.or1k.group0", "system"},
{"eear14" , GROUP0 + 62, "org.gnu.gdb.or1k.group0", "system"},
{"eear15" , GROUP0 + 63, "org.gnu.gdb.or1k.group0", "system"},
{"esr0" , GROUP0 + 64, "org.gnu.gdb.or1k.group0", "system"},
{"esr1" , GROUP0 + 65, "org.gnu.gdb.or1k.group0", "system"},
{"esr2" , GROUP0 + 66, "org.gnu.gdb.or1k.group0", "system"},
{"esr3" , GROUP0 + 67, "org.gnu.gdb.or1k.group0", "system"},
{"esr4" , GROUP0 + 68, "org.gnu.gdb.or1k.group0", "system"},
{"esr5" , GROUP0 + 69, "org.gnu.gdb.or1k.group0", "system"},
{"esr6" , GROUP0 + 70, "org.gnu.gdb.or1k.group0", "system"},
{"esr7" , GROUP0 + 71, "org.gnu.gdb.or1k.group0", "system"},
{"esr8" , GROUP0 + 72, "org.gnu.gdb.or1k.group0", "system"},
{"esr9" , GROUP0 + 73, "org.gnu.gdb.or1k.group0", "system"},
{"esr10" , GROUP0 + 74, "org.gnu.gdb.or1k.group0", "system"},
{"esr11" , GROUP0 + 75, "org.gnu.gdb.or1k.group0", "system"},
{"esr12" , GROUP0 + 76, "org.gnu.gdb.or1k.group0", "system"},
{"esr13" , GROUP0 + 77, "org.gnu.gdb.or1k.group0", "system"},
{"esr14" , GROUP0 + 78, "org.gnu.gdb.or1k.group0", "system"},
{"esr15" , GROUP0 + 79, "org.gnu.gdb.or1k.group0", "system"},
{"dmmuucr" , GROUP1 + 0, "org.gnu.gdb.or1k.group1", "dmmu"},
{"dmmuupr" , GROUP1 + 1, "org.gnu.gdb.or1k.group1", "dmmu"},
{"dtlbeir" , GROUP1 + 2, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbmr0" , GROUP1 + 4, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbmr1" , GROUP1 + 5, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbmr2" , GROUP1 + 6, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbmr3" , GROUP1 + 7, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbtr0" , GROUP1 + 8, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbtr1" , GROUP1 + 9, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbtr2" , GROUP1 + 10, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbtr3" , GROUP1 + 11, "org.gnu.gdb.or1k.group1", "dmmu"},
{"immucr" , GROUP2 + 0, "org.gnu.gdb.or1k.group2", "immu"},
{"immupr" , GROUP2 + 1, "org.gnu.gdb.or1k.group2", "immu"},
{"itlbeir" , GROUP2 + 2, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbmr0" , GROUP2 + 4, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbmr1" , GROUP2 + 5, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbmr2" , GROUP2 + 6, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbmr3" , GROUP2 + 7, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbtr0" , GROUP2 + 8, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbtr1" , GROUP2 + 9, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbtr2" , GROUP2 + 10, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbtr3" , GROUP2 + 11, "org.gnu.gdb.or1k.group2", "immu"},
{"dccr" , GROUP3 + 0, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcbpr" , GROUP3 + 1, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcbfr" , GROUP3 + 2, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcbir" , GROUP3 + 3, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcbwr" , GROUP3 + 4, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcblr" , GROUP3 + 5, "org.gnu.gdb.or1k.group3", "dcache"},
{"iccr" , GROUP4 + 0, "org.gnu.gdb.or1k.group4", "icache"},
{"icbpr" , GROUP4 + 1, "org.gnu.gdb.or1k.group4", "icache"},
{"icbir" , GROUP4 + 2, "org.gnu.gdb.or1k.group4", "icache"},
{"icblr" , GROUP4 + 3, "org.gnu.gdb.or1k.group4", "icache"},
{"maclo" , GROUP5 + 0, "org.gnu.gdb.or1k.group5", "mac"},
{"machi" , GROUP5 + 1, "org.gnu.gdb.or1k.group5", "mac"},
{"dvr0" , GROUP6 + 0, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr1" , GROUP6 + 1, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr2" , GROUP6 + 2, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr3" , GROUP6 + 3, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr4" , GROUP6 + 4, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr5" , GROUP6 + 5, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr6" , GROUP6 + 6, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr7" , GROUP6 + 7, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr0" , GROUP6 + 8, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr1" , GROUP6 + 9, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr2" , GROUP6 + 10, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr3" , GROUP6 + 11, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr4" , GROUP6 + 12, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr5" , GROUP6 + 13, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr6" , GROUP6 + 14, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr7" , GROUP6 + 15, "org.gnu.gdb.or1k.group6", "debug"},
{"dmr1" , GROUP6 + 16, "org.gnu.gdb.or1k.group6", "debug"},
{"dmr2" , GROUP6 + 17, "org.gnu.gdb.or1k.group6", "debug"},
{"dcwr0" , GROUP6 + 18, "org.gnu.gdb.or1k.group6", "debug"},
{"dcwr1" , GROUP6 + 19, "org.gnu.gdb.or1k.group6", "debug"},
{"dsr" , GROUP6 + 20, "org.gnu.gdb.or1k.group6", "debug"},
{"drr" , GROUP6 + 21, "org.gnu.gdb.or1k.group6", "debug"},
{"pccr0" , GROUP7 + 0, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr1" , GROUP7 + 1, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr2" , GROUP7 + 2, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr3" , GROUP7 + 3, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr4" , GROUP7 + 4, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr5" , GROUP7 + 5, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr6" , GROUP7 + 6, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr7" , GROUP7 + 7, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr0" , GROUP7 + 8, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr1" , GROUP7 + 9, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr2" , GROUP7 + 10, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr3" , GROUP7 + 11, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr4" , GROUP7 + 12, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr5" , GROUP7 + 13, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr6" , GROUP7 + 14, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr7" , GROUP7 + 15, "org.gnu.gdb.or1k.group7", "perf"},
{"pmr" , GROUP8 + 0, "org.gnu.gdb.or1k.group8", "power"},
{"picmr" , GROUP9 + 0, "org.gnu.gdb.or1k.group9", "pic"},
{"picsr" , GROUP9 + 2, "org.gnu.gdb.or1k.group9", "pic"},
{"ttmr" , GROUP10 + 0, "org.gnu.gdb.or1k.group10", "timer"},
{"ttcr" , GROUP10 + 1, "org.gnu.gdb.or1k.group10", "timer"},
{"r0", GROUP0 + 1024, "org.gnu.gdb.or1k.group0", NULL},
{"r1", GROUP0 + 1025, "org.gnu.gdb.or1k.group0", NULL},
{"r2", GROUP0 + 1026, "org.gnu.gdb.or1k.group0", NULL},
{"r3", GROUP0 + 1027, "org.gnu.gdb.or1k.group0", NULL},
{"r4", GROUP0 + 1028, "org.gnu.gdb.or1k.group0", NULL},
{"r5", GROUP0 + 1029, "org.gnu.gdb.or1k.group0", NULL},
{"r6", GROUP0 + 1030, "org.gnu.gdb.or1k.group0", NULL},
{"r7", GROUP0 + 1031, "org.gnu.gdb.or1k.group0", NULL},
{"r8", GROUP0 + 1032, "org.gnu.gdb.or1k.group0", NULL},
{"r9", GROUP0 + 1033, "org.gnu.gdb.or1k.group0", NULL},
{"r10", GROUP0 + 1034, "org.gnu.gdb.or1k.group0", NULL},
{"r11", GROUP0 + 1035, "org.gnu.gdb.or1k.group0", NULL},
{"r12", GROUP0 + 1036, "org.gnu.gdb.or1k.group0", NULL},
{"r13", GROUP0 + 1037, "org.gnu.gdb.or1k.group0", NULL},
{"r14", GROUP0 + 1038, "org.gnu.gdb.or1k.group0", NULL},
{"r15", GROUP0 + 1039, "org.gnu.gdb.or1k.group0", NULL},
{"r16", GROUP0 + 1040, "org.gnu.gdb.or1k.group0", NULL},
{"r17", GROUP0 + 1041, "org.gnu.gdb.or1k.group0", NULL},
{"r18", GROUP0 + 1042, "org.gnu.gdb.or1k.group0", NULL},
{"r19", GROUP0 + 1043, "org.gnu.gdb.or1k.group0", NULL},
{"r20", GROUP0 + 1044, "org.gnu.gdb.or1k.group0", NULL},
{"r21", GROUP0 + 1045, "org.gnu.gdb.or1k.group0", NULL},
{"r22", GROUP0 + 1046, "org.gnu.gdb.or1k.group0", NULL},
{"r23", GROUP0 + 1047, "org.gnu.gdb.or1k.group0", NULL},
{"r24", GROUP0 + 1048, "org.gnu.gdb.or1k.group0", NULL},
{"r25", GROUP0 + 1049, "org.gnu.gdb.or1k.group0", NULL},
{"r26", GROUP0 + 1050, "org.gnu.gdb.or1k.group0", NULL},
{"r27", GROUP0 + 1051, "org.gnu.gdb.or1k.group0", NULL},
{"r28", GROUP0 + 1052, "org.gnu.gdb.or1k.group0", NULL},
{"r29", GROUP0 + 1053, "org.gnu.gdb.or1k.group0", NULL},
{"r30", GROUP0 + 1054, "org.gnu.gdb.or1k.group0", NULL},
{"r31", GROUP0 + 1055, "org.gnu.gdb.or1k.group0", NULL},
{"ppc", GROUP0 + 18, "org.gnu.gdb.or1k.group0", NULL},
{"npc", GROUP0 + 16, "org.gnu.gdb.or1k.group0", NULL},
{"sr", GROUP0 + 17, "org.gnu.gdb.or1k.group0", NULL},
{"vr", GROUP0 + 0, "org.gnu.gdb.or1k.group0", "system"},
{"upr", GROUP0 + 1, "org.gnu.gdb.or1k.group0", "system"},
{"cpucfgr", GROUP0 + 2, "org.gnu.gdb.or1k.group0", "system"},
{"dmmucfgr", GROUP0 + 3, "org.gnu.gdb.or1k.group0", "system"},
{"immucfgr", GROUP0 + 4, "org.gnu.gdb.or1k.group0", "system"},
{"dccfgr", GROUP0 + 5, "org.gnu.gdb.or1k.group0", "system"},
{"iccfgr", GROUP0 + 6, "org.gnu.gdb.or1k.group0", "system"},
{"dcfgr", GROUP0 + 7, "org.gnu.gdb.or1k.group0", "system"},
{"pccfgr", GROUP0 + 8, "org.gnu.gdb.or1k.group0", "system"},
{"fpcsr", GROUP0 + 20, "org.gnu.gdb.or1k.group0", "system"},
{"epcr0", GROUP0 + 32, "org.gnu.gdb.or1k.group0", "system"},
{"epcr1", GROUP0 + 33, "org.gnu.gdb.or1k.group0", "system"},
{"epcr2", GROUP0 + 34, "org.gnu.gdb.or1k.group0", "system"},
{"epcr3", GROUP0 + 35, "org.gnu.gdb.or1k.group0", "system"},
{"epcr4", GROUP0 + 36, "org.gnu.gdb.or1k.group0", "system"},
{"epcr5", GROUP0 + 37, "org.gnu.gdb.or1k.group0", "system"},
{"epcr6", GROUP0 + 38, "org.gnu.gdb.or1k.group0", "system"},
{"epcr7", GROUP0 + 39, "org.gnu.gdb.or1k.group0", "system"},
{"epcr8", GROUP0 + 40, "org.gnu.gdb.or1k.group0", "system"},
{"epcr9", GROUP0 + 41, "org.gnu.gdb.or1k.group0", "system"},
{"epcr10", GROUP0 + 42, "org.gnu.gdb.or1k.group0", "system"},
{"epcr11", GROUP0 + 43, "org.gnu.gdb.or1k.group0", "system"},
{"epcr12", GROUP0 + 44, "org.gnu.gdb.or1k.group0", "system"},
{"epcr13", GROUP0 + 45, "org.gnu.gdb.or1k.group0", "system"},
{"epcr14", GROUP0 + 46, "org.gnu.gdb.or1k.group0", "system"},
{"epcr15", GROUP0 + 47, "org.gnu.gdb.or1k.group0", "system"},
{"eear0", GROUP0 + 48, "org.gnu.gdb.or1k.group0", "system"},
{"eear1", GROUP0 + 49, "org.gnu.gdb.or1k.group0", "system"},
{"eear2", GROUP0 + 50, "org.gnu.gdb.or1k.group0", "system"},
{"eear3", GROUP0 + 51, "org.gnu.gdb.or1k.group0", "system"},
{"eear4", GROUP0 + 52, "org.gnu.gdb.or1k.group0", "system"},
{"eear5", GROUP0 + 53, "org.gnu.gdb.or1k.group0", "system"},
{"eear6", GROUP0 + 54, "org.gnu.gdb.or1k.group0", "system"},
{"eear7", GROUP0 + 55, "org.gnu.gdb.or1k.group0", "system"},
{"eear8", GROUP0 + 56, "org.gnu.gdb.or1k.group0", "system"},
{"eear9", GROUP0 + 57, "org.gnu.gdb.or1k.group0", "system"},
{"eear10", GROUP0 + 58, "org.gnu.gdb.or1k.group0", "system"},
{"eear11", GROUP0 + 59, "org.gnu.gdb.or1k.group0", "system"},
{"eear12", GROUP0 + 60, "org.gnu.gdb.or1k.group0", "system"},
{"eear13", GROUP0 + 61, "org.gnu.gdb.or1k.group0", "system"},
{"eear14", GROUP0 + 62, "org.gnu.gdb.or1k.group0", "system"},
{"eear15", GROUP0 + 63, "org.gnu.gdb.or1k.group0", "system"},
{"esr0", GROUP0 + 64, "org.gnu.gdb.or1k.group0", "system"},
{"esr1", GROUP0 + 65, "org.gnu.gdb.or1k.group0", "system"},
{"esr2", GROUP0 + 66, "org.gnu.gdb.or1k.group0", "system"},
{"esr3", GROUP0 + 67, "org.gnu.gdb.or1k.group0", "system"},
{"esr4", GROUP0 + 68, "org.gnu.gdb.or1k.group0", "system"},
{"esr5", GROUP0 + 69, "org.gnu.gdb.or1k.group0", "system"},
{"esr6", GROUP0 + 70, "org.gnu.gdb.or1k.group0", "system"},
{"esr7", GROUP0 + 71, "org.gnu.gdb.or1k.group0", "system"},
{"esr8", GROUP0 + 72, "org.gnu.gdb.or1k.group0", "system"},
{"esr9", GROUP0 + 73, "org.gnu.gdb.or1k.group0", "system"},
{"esr10", GROUP0 + 74, "org.gnu.gdb.or1k.group0", "system"},
{"esr11", GROUP0 + 75, "org.gnu.gdb.or1k.group0", "system"},
{"esr12", GROUP0 + 76, "org.gnu.gdb.or1k.group0", "system"},
{"esr13", GROUP0 + 77, "org.gnu.gdb.or1k.group0", "system"},
{"esr14", GROUP0 + 78, "org.gnu.gdb.or1k.group0", "system"},
{"esr15", GROUP0 + 79, "org.gnu.gdb.or1k.group0", "system"},
{"dmmuucr", GROUP1 + 0, "org.gnu.gdb.or1k.group1", "dmmu"},
{"dmmuupr", GROUP1 + 1, "org.gnu.gdb.or1k.group1", "dmmu"},
{"dtlbeir", GROUP1 + 2, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbmr0", GROUP1 + 4, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbmr1", GROUP1 + 5, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbmr2", GROUP1 + 6, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbmr3", GROUP1 + 7, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbtr0", GROUP1 + 8, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbtr1", GROUP1 + 9, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbtr2", GROUP1 + 10, "org.gnu.gdb.or1k.group1", "dmmu"},
{"datbtr3", GROUP1 + 11, "org.gnu.gdb.or1k.group1", "dmmu"},
{"immucr", GROUP2 + 0, "org.gnu.gdb.or1k.group2", "immu"},
{"immupr", GROUP2 + 1, "org.gnu.gdb.or1k.group2", "immu"},
{"itlbeir", GROUP2 + 2, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbmr0", GROUP2 + 4, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbmr1", GROUP2 + 5, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbmr2", GROUP2 + 6, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbmr3", GROUP2 + 7, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbtr0", GROUP2 + 8, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbtr1", GROUP2 + 9, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbtr2", GROUP2 + 10, "org.gnu.gdb.or1k.group2", "immu"},
{"iatbtr3", GROUP2 + 11, "org.gnu.gdb.or1k.group2", "immu"},
{"dccr", GROUP3 + 0, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcbpr", GROUP3 + 1, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcbfr", GROUP3 + 2, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcbir", GROUP3 + 3, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcbwr", GROUP3 + 4, "org.gnu.gdb.or1k.group3", "dcache"},
{"dcblr", GROUP3 + 5, "org.gnu.gdb.or1k.group3", "dcache"},
{"iccr", GROUP4 + 0, "org.gnu.gdb.or1k.group4", "icache"},
{"icbpr", GROUP4 + 1, "org.gnu.gdb.or1k.group4", "icache"},
{"icbir", GROUP4 + 2, "org.gnu.gdb.or1k.group4", "icache"},
{"icblr", GROUP4 + 3, "org.gnu.gdb.or1k.group4", "icache"},
{"maclo", GROUP5 + 0, "org.gnu.gdb.or1k.group5", "mac"},
{"machi", GROUP5 + 1, "org.gnu.gdb.or1k.group5", "mac"},
{"dvr0", GROUP6 + 0, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr1", GROUP6 + 1, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr2", GROUP6 + 2, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr3", GROUP6 + 3, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr4", GROUP6 + 4, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr5", GROUP6 + 5, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr6", GROUP6 + 6, "org.gnu.gdb.or1k.group6", "debug"},
{"dvr7", GROUP6 + 7, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr0", GROUP6 + 8, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr1", GROUP6 + 9, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr2", GROUP6 + 10, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr3", GROUP6 + 11, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr4", GROUP6 + 12, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr5", GROUP6 + 13, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr6", GROUP6 + 14, "org.gnu.gdb.or1k.group6", "debug"},
{"dcr7", GROUP6 + 15, "org.gnu.gdb.or1k.group6", "debug"},
{"dmr1", GROUP6 + 16, "org.gnu.gdb.or1k.group6", "debug"},
{"dmr2", GROUP6 + 17, "org.gnu.gdb.or1k.group6", "debug"},
{"dcwr0", GROUP6 + 18, "org.gnu.gdb.or1k.group6", "debug"},
{"dcwr1", GROUP6 + 19, "org.gnu.gdb.or1k.group6", "debug"},
{"dsr", GROUP6 + 20, "org.gnu.gdb.or1k.group6", "debug"},
{"drr", GROUP6 + 21, "org.gnu.gdb.or1k.group6", "debug"},
{"pccr0", GROUP7 + 0, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr1", GROUP7 + 1, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr2", GROUP7 + 2, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr3", GROUP7 + 3, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr4", GROUP7 + 4, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr5", GROUP7 + 5, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr6", GROUP7 + 6, "org.gnu.gdb.or1k.group7", "perf"},
{"pccr7", GROUP7 + 7, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr0", GROUP7 + 8, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr1", GROUP7 + 9, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr2", GROUP7 + 10, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr3", GROUP7 + 11, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr4", GROUP7 + 12, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr5", GROUP7 + 13, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr6", GROUP7 + 14, "org.gnu.gdb.or1k.group7", "perf"},
{"pcmr7", GROUP7 + 15, "org.gnu.gdb.or1k.group7", "perf"},
{"pmr", GROUP8 + 0, "org.gnu.gdb.or1k.group8", "power"},
{"picmr", GROUP9 + 0, "org.gnu.gdb.or1k.group9", "pic"},
{"picsr", GROUP9 + 2, "org.gnu.gdb.or1k.group9", "pic"},
{"ttmr", GROUP10 + 0, "org.gnu.gdb.or1k.group10", "timer"},
{"ttcr", GROUP10 + 1, "org.gnu.gdb.or1k.group10", "timer"},
};
static int or1k_add_reg(struct target *target, struct or1k_core_reg *new_reg)
@@ -423,7 +423,7 @@ static int or1k_read_core_reg(struct target *target, int num)
if ((num >= 0) && (num < OR1KNUMCOREREGS)) {
reg_value = or1k->core_regs[num];
buf_set_u32(or1k->core_cache->reg_list[num].value, 0, 32, reg_value);
LOG_DEBUG("Read core reg %i value 0x%08" PRIx32, num , reg_value);
LOG_DEBUG("Read core reg %i value 0x%08" PRIx32, num, reg_value);
or1k->core_cache->reg_list[num].valid = true;
or1k->core_cache->reg_list[num].dirty = false;
} else {
@@ -435,7 +435,7 @@ static int or1k_read_core_reg(struct target *target, int num)
return retval;
}
buf_set_u32(or1k->core_cache->reg_list[num].value, 0, 32, reg_value);
LOG_DEBUG("Read spr reg %i value 0x%08" PRIx32, num , reg_value);
LOG_DEBUG("Read spr reg %i value 0x%08" PRIx32, num, reg_value);
}
return ERROR_OK;
@@ -452,7 +452,7 @@ static int or1k_write_core_reg(struct target *target, int num)
uint32_t reg_value = buf_get_u32(or1k->core_cache->reg_list[num].value, 0, 32);
or1k->core_regs[num] = reg_value;
LOG_DEBUG("Write core reg %i value 0x%08" PRIx32, num , reg_value);
LOG_DEBUG("Write core reg %i value 0x%08" PRIx32, num, reg_value);
or1k->core_cache->reg_list[num].valid = true;
or1k->core_cache->reg_list[num].dirty = false;