1cea06682SLaurent Vivier /* 2cea06682SLaurent Vivier * QEMU monitor for m68k 3cea06682SLaurent Vivier * 4cea06682SLaurent Vivier * This work is licensed under the terms of the GNU GPL, version 2 or 5cea06682SLaurent Vivier * later. See the COPYING file in the top-level directory. 6cea06682SLaurent Vivier */ 7cea06682SLaurent Vivier 8cea06682SLaurent Vivier #include "qemu/osdep.h" 9cea06682SLaurent Vivier #include "cpu.h" 10cea06682SLaurent Vivier #include "monitor/hmp-target.h" 112097dca6SLaurent Vivier #include "monitor/monitor.h" 122097dca6SLaurent Vivier 132097dca6SLaurent Vivier void hmp_info_tlb(Monitor *mon, const QDict *qdict) 142097dca6SLaurent Vivier { 15*e7cff9c6SKevin Wolf CPUArchState *env1 = mon_get_cpu_env(mon); 162097dca6SLaurent Vivier 172097dca6SLaurent Vivier if (!env1) { 182097dca6SLaurent Vivier monitor_printf(mon, "No CPU available\n"); 192097dca6SLaurent Vivier return; 202097dca6SLaurent Vivier } 212097dca6SLaurent Vivier 22fad866daSMarkus Armbruster dump_mmu(env1); 232097dca6SLaurent Vivier } 24cea06682SLaurent Vivier 25cea06682SLaurent Vivier static const MonitorDef monitor_defs[] = { 26cea06682SLaurent Vivier { "d0", offsetof(CPUM68KState, dregs[0]) }, 27cea06682SLaurent Vivier { "d1", offsetof(CPUM68KState, dregs[1]) }, 28cea06682SLaurent Vivier { "d2", offsetof(CPUM68KState, dregs[2]) }, 29cea06682SLaurent Vivier { "d3", offsetof(CPUM68KState, dregs[3]) }, 30cea06682SLaurent Vivier { "d4", offsetof(CPUM68KState, dregs[4]) }, 31cea06682SLaurent Vivier { "d5", offsetof(CPUM68KState, dregs[5]) }, 32cea06682SLaurent Vivier { "d6", offsetof(CPUM68KState, dregs[6]) }, 33cea06682SLaurent Vivier { "d7", offsetof(CPUM68KState, dregs[7]) }, 34cea06682SLaurent Vivier { "a0", offsetof(CPUM68KState, aregs[0]) }, 35cea06682SLaurent Vivier { "a1", offsetof(CPUM68KState, aregs[1]) }, 36cea06682SLaurent Vivier { "a2", offsetof(CPUM68KState, aregs[2]) }, 37cea06682SLaurent Vivier { "a3", offsetof(CPUM68KState, aregs[3]) }, 38cea06682SLaurent Vivier { "a4", offsetof(CPUM68KState, aregs[4]) }, 39cea06682SLaurent Vivier { "a5", offsetof(CPUM68KState, aregs[5]) }, 40cea06682SLaurent Vivier { "a6", offsetof(CPUM68KState, aregs[6]) }, 41cea06682SLaurent Vivier { "a7", offsetof(CPUM68KState, aregs[7]) }, 42cea06682SLaurent Vivier { "pc", offsetof(CPUM68KState, pc) }, 43cea06682SLaurent Vivier { "sr", offsetof(CPUM68KState, sr) }, 44cea06682SLaurent Vivier { "ssp", offsetof(CPUM68KState, sp[0]) }, 45cea06682SLaurent Vivier { "usp", offsetof(CPUM68KState, sp[1]) }, 466e22b28eSLaurent Vivier { "isp", offsetof(CPUM68KState, sp[2]) }, 475fa9f1f2SLaurent Vivier { "sfc", offsetof(CPUM68KState, sfc) }, 485fa9f1f2SLaurent Vivier { "dfc", offsetof(CPUM68KState, dfc) }, 4988b2fef6SLaurent Vivier { "urp", offsetof(CPUM68KState, mmu.urp) }, 5088b2fef6SLaurent Vivier { "srp", offsetof(CPUM68KState, mmu.srp) }, 51c05c73b0SLaurent Vivier { "dttr0", offsetof(CPUM68KState, mmu.ttr[M68K_DTTR0]) }, 52c05c73b0SLaurent Vivier { "dttr1", offsetof(CPUM68KState, mmu.ttr[M68K_DTTR1]) }, 53c05c73b0SLaurent Vivier { "ittr0", offsetof(CPUM68KState, mmu.ttr[M68K_ITTR0]) }, 54c05c73b0SLaurent Vivier { "ittr1", offsetof(CPUM68KState, mmu.ttr[M68K_ITTR1]) }, 55e55886c3SLaurent Vivier { "mmusr", offsetof(CPUM68KState, mmu.mmusr) }, 56cea06682SLaurent Vivier { NULL }, 57cea06682SLaurent Vivier }; 58cea06682SLaurent Vivier 59cea06682SLaurent Vivier const MonitorDef *target_monitor_defs(void) 60cea06682SLaurent Vivier { 61cea06682SLaurent Vivier return monitor_defs; 62cea06682SLaurent Vivier } 63