Mercurial > ecos
changeset 1333:0e2485da1dbc
Fix problem with [re]enable of FPU during interrupts
| author | gthomas |
|---|---|
| date | Tue, 28 Oct 2003 08:47:50 +0000 |
| parents | 2c334e9015ab |
| children | 8758da1a0278 |
| files | packages/hal/powerpc/arch/current/ChangeLog packages/hal/powerpc/arch/current/src/vectors.S |
| diffstat | 2 files changed, 10 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/powerpc/arch/current/ChangeLog +++ b/packages/hal/powerpc/arch/current/ChangeLog @@ -1,3 +1,8 @@ +2003-10-28 Gary Thomas <gary@mlbassoc.com> + + * src/vectors.S: Revert change to interrupt handling (see below) which + was over-exuberant on platforms without MMU (but with FP). + 2003-09-19 Gary Thomas <gary@mlbassoc.com> * src/vectors.S: Respect initial MMU settings when handling interrupts
--- a/packages/hal/powerpc/arch/current/src/vectors.S +++ b/packages/hal/powerpc/arch/current/src/vectors.S @@ -379,13 +379,13 @@ 2: bl hal_platform_init # MMU and cache are controlled by the same option since caching - # on the PPC does not make sense without the MMU to mark regions - # which should not be cached. + # on the PPC [typically] does not make sense without the MMU to mark + # regions which should not be cached. #ifdef CYGHWR_HAL_POWERPC_ENABLE_MMU # Initialize MMU. bl hal_MMU_init - # Enable MMU so we can safely enable caches. + # Enable MMU (if desired) so we can safely enable caches. lwi r3,CYG_MSR # interrupts enabled later sync mtmsr r3 @@ -474,13 +474,11 @@ cyg_hal_default_exception_vsr: stw r3,CYGARC_PPCREG_WALL_TAIL(sp) #endif -#ifdef CYGHWR_HAL_POWERPC_ENABLE_MMU - # Enable MMU. + # Enable MMU & interrupt/FPU environment (as configured) lwi r3,CYG_MSR sync mtmsr r3 sync -#endif mfspr r3,SPRG1 # save original R3 stw r3,CYGARC_PPCREG_REGS+3*4(sp) @@ -623,13 +621,11 @@ cyg_hal_default_interrupt_vsr: stw r3,CYGARC_PPCREG_WALL_TAIL(sp) #endif -#ifdef CYGHWR_HAL_POWERPC_ENABLE_MMU - # Enable MMU. + # Enable MMU & interrupt/FPU environment as configured lwi r3,CYG_MSR sync mtmsr r3 sync -#endif mfspr r3,SPRG1 # save original R3 stw r3,CYGARC_PPCREG_REGS+3*4(sp)
