?? abort.s
字號:
* @(#) pSOSystem PowerPC/V2.2.2: bsps/fuc8xx/src/abort.s *
***********************************************************************
* *
* MODULE: abort.s *
* DATE: 98/7/1 *
* AUTHOR: Shan Zhengguang *
* PURPOSE: Check for abort interrupt *
* *
*---------------------------------------------------------------------*
* *
* Copyright 1991 - 1997, ZHONGXING TELECOM CO.,LTD. *
* ALL RIGHTS RESERVED *
* *
*---------------------------------------------------------------------*
* *
* *
***********************************************************************
.include "macros.ia"
.include "board.ia"
.include "powerpc/cpuarch.ia"
.extern anchor
.extern _START
.text
.align 2
#************************************************************************
# AbortCheck: Check whether an abort interrupt has occurred. *
# *
# SYNTAX: blr AbortCheck *
# INPUTS: *
# RETURNS: *
# OUTPUTS: *
# NOTE(S): *
# *
#************************************************************************
.globl AbortCheck
AbortCheck:
#SS, temp code, need to code this function later....
blr
#************************************************************************
# Abort Switch Handler
# r29, r30 is saved. r31 points to the stack frame
#************************************************************************
.globl HwAbortHandler
HwAbortHandler:
#-----------------------------------------------------------------------*
# Check the source of interrupt
#-----------------------------------------------------------------------*
mfspr r29, 638
andis. r29, r29, 0xFFF0 # IO Memory map mask
lbz r30, RSR(r29) # Get the RSR contents
andi. r30, r30, 0x40
cmpi r30, 0
beq AbortDetected
LA r29, _START
mtlr r29
blr
AbortDetected:
#-----------------------------------------------------------------------*
# Check if pROBE exists
#-----------------------------------------------------------------------*
LA r29, anchor #
lwz r29, 0(r29)
lwz r29, NC_PROBECT(r29) # Get Probe code address
#
cmpwi r29, 0 # No Probe in the system
beq restore # restore and RFI
#
lwz r29, RC_CODE(r29)
addi r29, r29, RC_MANB
mtlr r29
blrl # probe returns back to user code
restore:
lwz r29, STK_STK_LR(r31) # restore registers
mtlr r29 #
lwz r29, STK_STK_SRR1(r31) #
mtsrr1 r29 #
lwz r29, STK_STK_SRR0(r31) #
mtsrr0 r29 #
lwz r29, STK_STK_CR(r31) #
mtcrf 0xFF, r29 #
lmw r29, STK_STK_R29(r31) #
sync #
isync #
rfi
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -