#include <stdlib.h>#include <string.h>#include <unistd.h>#include <stdio.h>#include "dbg_msg.h"#include "jt_arm.h"#include "jt_cp15.h"#include "jt_instr.h"ARM720 CP15-MMU Interface
| unsigned int jtag_arm720_CP15DataExchange | ( | unsigned int | input_val, | |
| int | read_prev_data | |||
| ) |
Data mode exchange with CP15 of ARM720.
Write 32-Bit data value to CP15. (bit[0]=0)
chain 15 the length is 33 bits Physical access mode to CP15
bit [0] => 1 instruction; [0] => 0 data bit [1..32]: register value
| input_val | data send to CP15 | |
| read_prev_data | WRITE_ONLY or READ_WRITE |
References DBG_LEVEL_JTAG_ICERT_LOW, dbgPrintf(), instr_intest, INTEST, jtag_arm_set_chain(), jtag_exchange_data(), jtag_send_instr(), jtag_supp_bitstr2int_LSB_First(), jtag_supp_int2bitstr_LSB_First(), scan_chain, and WRITE_ONLY.
Referenced by jtag_arm720_CP15_FlushCache(), jtag_arm720_CP15_ReadFCSEpidReg(), jtag_arm720_CP15_ReadMMUcontrolReg(), jtag_arm720_CP15_ReadTTB(), jtag_arm720_CP15_WriteMMUcontrolReg(), jtag_arm720_CP15_WriteTTB(), and jtag_arm7_ReadCP15Info().
| unsigned int jtag_arm720_CP15InstrReg | ( | unsigned int | regdata, | |
| int | read_prev_data | |||
| ) |
Instruction mode exchange with CP15 of ARM720.
Write 32-Bit register value to CP15. (bit[0]=1)
chain 15 the length is 33 bits Physical access mode to CP15
bit [0] => 1 instruction; [0] => 0 data bit [1..32]: register value
| regdata | register data as an instruction send to CP15 | |
| read_prev_data | WRITE_ONLY or READ_WRITE |
References DBG_LEVEL_JTAG_ICERT_LOW, DBG_LEVEL_JTAG_INSTR, dbgPrintf(), IF_DBG, instr_intest, INTEST, jtag_arm_set_chain(), jtag_exchange_data(), jtag_send_instr(), jtag_supp_bitstr2int_LSB_First(), jtag_supp_int2bitstr_LSB_First(), scan_chain, and WRITE_ONLY.
Referenced by jtag_arm720_CP15_FlushCache(), jtag_arm720_CP15_ReadFCSEpidReg(), jtag_arm720_CP15_ReadMMUcontrolReg(), jtag_arm720_CP15_ReadTTB(), jtag_arm720_CP15_WriteMMUcontrolReg(), jtag_arm720_CP15_WriteTTB(), and jtag_arm7_ReadCP15Info().
| unsigned int jtag_arm720_CP15_ReadMMUcontrolReg | ( | void | ) |
read MMU control register
| - |
References ARM_MRC_CP15_R0_C1_MMUCNTRREG, DBG_LEVEL_JTAG_ICERT_LOW, dbgPrintf(), jtag_arm720_CP15DataExchange(), jtag_arm720_CP15InstrReg(), jtag_eos(), READ_WRITE, and WRITE_ONLY.
Referenced by jtag_test().
| void jtag_arm720_CP15_WriteMMUcontrolReg | ( | uint32_t | val | ) |
write MMU control register
| val | register value |
References ARM_MCR_CP15_R0_C1_MMUCNTRREG, DBG_LEVEL_JTAG_ICERT_LOW, DBG_LEVEL_JTAG_INSTR, dbgPrintf(), IF_DBG, jtag_arm720_CP15DataExchange(), jtag_arm720_CP15InstrReg(), jtag_eos(), and WRITE_ONLY.
| unsigned int jtag_arm720_CP15_ReadTTB | ( | void | ) |
Collect Translation Lookaside Buffer Table Base address from CP15
| - |
References ARM_MRC_CP15_0_R0_C2_C0_0, DBG_LEVEL_JTAG_ICERT_LOW, dbgPrintf(), jtag_arm720_CP15DataExchange(), jtag_arm720_CP15InstrReg(), jtag_eos(), READ_WRITE, and WRITE_ONLY.
Referenced by jtag_test().
| void jtag_arm720_CP15_WriteTTB | ( | uint32_t | val | ) |
Write new Translation Lookaside Buffer Table Base address from CP15
| val | TTB value |
References ARM_MCR_CP15_0_R0_C2_C0_0, DBG_LEVEL_JTAG_ICERT_LOW, DBG_LEVEL_JTAG_INSTR, dbgPrintf(), IF_DBG, jtag_arm720_CP15DataExchange(), jtag_arm720_CP15InstrReg(), jtag_eos(), and WRITE_ONLY.
Referenced by jtag_test().
| unsigned int jtag_arm720_CP15_ReadFCSEpidReg | ( | void | ) |
read FCSE ID Register
| - |
References ARM_MRC_CP15_R0_C13_FCSE_IDREG, DBG_LEVEL_JTAG_ICERT_LOW, dbgPrintf(), jtag_arm720_CP15DataExchange(), jtag_arm720_CP15InstrReg(), jtag_eos(), READ_WRITE, and WRITE_ONLY.
Referenced by jtag_test().
| void jtag_arm720_CP15_FlushCache | ( | void | ) |
flush I and D Cache by write MCR CP15,0,Rd,c7,c7,0
| - |
References ARM_MCR_CP15_0_R0_C7_C7_0, DBG_LEVEL_JTAG_ICERT_LOW, DBG_LEVEL_JTAG_INSTR, dbgPrintf(), IF_DBG, jtag_arm720_CP15DataExchange(), jtag_arm720_CP15InstrReg(), jtag_eos(), and WRITE_ONLY.