Changeset View
Changeset View
Standalone View
Standalone View
head/sys/powerpc/booke/trap_subr.S
Show First 20 Lines • Show All 632 Lines • ▼ Show 20 Lines | |||||
* Altivec Assist interrupt | * Altivec Assist interrupt | ||||
****************************************************************************/ | ****************************************************************************/ | ||||
INTERRUPT(int_vecast) | INTERRUPT(int_vecast) | ||||
STANDARD_PROLOG(SPR_SPRG1, PC_TEMPSAVE, SPR_SRR0, SPR_SRR1) | STANDARD_PROLOG(SPR_SPRG1, PC_TEMPSAVE, SPR_SRR0, SPR_SRR1) | ||||
FRAME_SETUP(SPR_SPRG1, PC_TEMPSAVE, EXC_VECAST_E) | FRAME_SETUP(SPR_SPRG1, PC_TEMPSAVE, EXC_VECAST_E) | ||||
b trap_common | b trap_common | ||||
#ifdef __SPE__ | |||||
/***************************************************************************** | |||||
* Floating point Assist interrupt | |||||
****************************************************************************/ | |||||
INTERRUPT(int_spe_fpdata) | |||||
STANDARD_PROLOG(SPR_SPRG1, PC_TEMPSAVE, SPR_SRR0, SPR_SRR1) | |||||
FRAME_SETUP(SPR_SPRG1, PC_TEMPSAVE, EXC_SPFPD) | |||||
addi %r3, %r1, CALLSIZE | |||||
bl spe_handle_fpdata | |||||
FRAME_LEAVE(SPR_SRR0, SPR_SRR1) | |||||
rfi | |||||
INTERRUPT(int_spe_fpround) | |||||
STANDARD_PROLOG(SPR_SPRG1, PC_TEMPSAVE, SPR_SRR0, SPR_SRR1) | |||||
FRAME_SETUP(SPR_SPRG1, PC_TEMPSAVE, EXC_SPFPR) | |||||
addi %r3, %r1, CALLSIZE | |||||
bl spe_handle_fpround | |||||
FRAME_LEAVE(SPR_SRR0, SPR_SRR1) | |||||
rfi | |||||
#endif | |||||
#ifdef HWPMC_HOOKS | #ifdef HWPMC_HOOKS | ||||
/***************************************************************************** | /***************************************************************************** | ||||
* PMC Interrupt | * PMC Interrupt | ||||
****************************************************************************/ | ****************************************************************************/ | ||||
INTERRUPT(int_performance_counter) | INTERRUPT(int_performance_counter) | ||||
STANDARD_PROLOG(SPR_SPRG3, PC_TEMPSAVE, SPR_SRR0, SPR_SRR1) | STANDARD_PROLOG(SPR_SPRG3, PC_TEMPSAVE, SPR_SRR0, SPR_SRR1) | ||||
FRAME_SETUP(SPR_SPRG3, PC_TEMPSAVE, EXC_PERF) | FRAME_SETUP(SPR_SPRG3, PC_TEMPSAVE, EXC_PERF) | ||||
b trap_common | b trap_common | ||||
▲ Show 20 Lines • Show All 466 Lines • Show Last 20 Lines |