#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include "dbg_msg.h"
#include "jt_arm.h"
#include "jt_mmu.h"
#include "jt_cp15.h"
#include "jt_instr.h"
ARM MMU Interface
void jtag_arm_mmu_save_and_disable | ( | void | ) |
On Debug entry:
save the current MMU-state and disable MMU and its cache
Collect current state, Clean Cache and Write Buffer
disable MMU and its caches
- |
Referenced by gdb_main_loop(), and jtag_test().
void jtag_arm_mmu_disable | ( | void | ) |
Disable MMU
(forget current state; and save as it has been Disabled before)
- |
Referenced by gdb_restart(), and jtag_test().
void jtag_arm_mmu_restore | ( | void | ) |
On exit Debug:
Restore previous MMU State using global variable
- |
Referenced by gdb_action_continue(), and gdb_action_step().
void jtag_arm_mmu_disable_high_vectors | ( | void | ) |
void jtag_arm_mmu_enable_high_vectors | ( | void | ) |
int jtag_arm_mmu_check_high_vectors | ( | void | ) |
Check if mmu high vectors enabled
- |
0 | disabled (or dosn't have this feature) | |
1 | high vectors enabled |
Referenced by armOsabiMultiThreading(), gdb_main_loop(), gdb_monitor_Rcmd(), and jtag_arm_DumpCPUregs().
int jtag_arm_mmu_virt2phys | ( | uint32_t | virtAddr, | |
uint32_t * | physAddrPtr | |||
) |
translate a virtual address into a physical address
virtAddr | virtual address | |
physAddrPtr | Pointer to store the calculated physical address |
0 | invalid virtual address | |
1 | valid virtual address |
Referenced by gdb_action_step(), gdb_handle_exception(), gdb_main_loop(), gdb_vquery(), and InsertBreakpoint().