BSP: change for IAR compiler

This patch make changes for IAR compiler in default
handler routine for data abort and prefetch abort.

Also it contains one modification in xil_cache.c for
correct register in Xil_DCacheInvalidateRange routine
for IAR compiler.

Signed-off-by: Kinjal Pravinbhai Patel <patelki@xilinx.com>
Acked-by: Anirudha Sarangi <anirudh@xilinx.com>
This commit is contained in:
Kinjal Pravinbhai Patel 2014-07-21 17:42:49 +05:30 committed by Jagannadha Sutradharudu Teki
parent 7cf85a2151
commit 396886d88e
2 changed files with 9 additions and 5 deletions

View file

@ -355,7 +355,7 @@ void Xil_DCacheInvalidateRange(unsigned int adr, unsigned len)
XREG_CP15_INVAL_DC_LINE_MVA_POC :: "r" (tempadr));
#elif defined (__ICCARM__)
__asm volatile ("mcr " \
XREG_CP15_INVAL_IC_LINE_MVA_POU :: "r" (tempadr));
XREG_CP15_INVAL_DC_LINE_MVA_POU :: "r" (tempadr));
#else
{ volatile register unsigned int Reg
__asm(XREG_CP15_INVAL_DC_LINE_MVA_POC);

View file

@ -115,11 +115,11 @@ DieLoop: goto DieLoop;
/****************************************************************************/
/**
* The function is a common API used to initialize exception handlers across all
* processors supported. For ARM CortexA9, the exception handlers are being
* processors supported. For ARM CortexA9, the exception handlers are being
* initialized statically and hence this function does not do anything.
* However, it is still present to avoid any compilation issues in case an
* application uses this API and also to take care of backward compatibility
* issues (in earlier versions of BSPs, this API was being used to initialize
* However, it is still present to avoid any compilation issues in case an
* application uses this API and also to take care of backward compatibility
* issues (in earlier versions of BSPs, this API was being used to initialize
* exception handlers).
*
* @param None.
@ -203,6 +203,8 @@ void Xil_DataAbortHandler(void *CallBackRef){
u32 FaultStatus;
#ifdef __GNUC__
FaultStatus = mfcp(XREG_CP15_DATA_FAULT_STATUS);
#elif defined (__ICCARM__)
#else
{ volatile register unsigned int Reg __asm(XREG_CP15_DATA_FAULT_STATUS);
FaultStatus = Reg; }
@ -228,6 +230,8 @@ void Xil_PrefetchAbortHandler(void *CallBackRef){
u32 FaultStatus;
#ifdef __GNUC__
FaultStatus = mfcp(XREG_CP15_INST_FAULT_STATUS);
#elif defined (__ICCARM__)
#else
{ volatile register unsigned int Reg __asm(XREG_CP15_INST_FAULT_STATUS);
FaultStatus = Reg; }