jt_cp15_720.c File Reference

#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"

Functions


Detailed Description

ARM720 CP15-MMU Interface


Function Documentation

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
 
Parameters:
input_val data send to CP15
read_prev_data WRITE_ONLY or READ_WRITE
Returns:
value of previous data from CP15 if requested (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
 
Parameters:
regdata register data as an instruction send to CP15
read_prev_data WRITE_ONLY or READ_WRITE
Returns:
value of previous data from CP15 if requested (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

Parameters:
- 
Returns:
register value

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  ) 
unsigned int jtag_arm720_CP15_ReadTTB ( void   ) 

Collect Translation Lookaside Buffer Table Base address from CP15

Parameters:
- 
Returns:
TTB value

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

Parameters:
val TTB value
Returns:
-

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   ) 
void jtag_arm720_CP15_FlushCache ( void   ) 

flush I and D Cache by write MCR CP15,0,Rd,c7,c7,0

Parameters:
- 
Returns:
-

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.


This file is part of the documentation for JTAG-GDB Server for ARM .

Generated on Mon Feb 15 21:23:21 2010 by doxygen 1.6.2.