diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-17 09:23:59 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-19 09:59:38 +0100 |
commit | 801b5d80325dbd3e92218271d54e75f389da7136 (patch) | |
tree | d804e85db347bafd1c7b52b086beff7b6d61c170 /c/src/lib/libbsp/shared/bootcard.c | |
parent | score: Move SMP interrupt stack initialization (diff) | |
download | rtems-801b5d80325dbd3e92218271d54e75f389da7136.tar.bz2 |
powerpc: Change interrupt disable implemetation
Instead of SPRG0 (= special purpose register 272) use the new global
symbol _PPC_INTERRUPT_DISABLE_MASK to store the interrupt disable mask.
The benefit is that it is now possible to disable interrupts without
further run-time initialization in boot_card().
At least on Freescale e500 cores this leads also to a faster execution
since the mfmsr and mfspr instruction require four cycles to complete.
The instructions to load the mask value can execute while the mfmsr is
in progress.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/shared/bootcard.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/shared/bootcard.c b/c/src/lib/libbsp/shared/bootcard.c index 8a21bc00e0..7693a18de5 100644 --- a/c/src/lib/libbsp/shared/bootcard.c +++ b/c/src/lib/libbsp/shared/bootcard.c @@ -69,14 +69,6 @@ void boot_card( rtems_interrupt_level bsp_isr_level; /* - * Special case for PowerPC: The interrupt disable mask is stored in SPRG0. - * It must be valid before we can use rtems_interrupt_disable(). - */ - #ifdef PPC_INTERRUPT_DISABLE_MASK_DEFAULT - ppc_interrupt_set_disable_mask( PPC_INTERRUPT_DISABLE_MASK_DEFAULT ); - #endif /* PPC_INTERRUPT_DISABLE_MASK_DEFAULT */ - - /* * Make sure interrupts are disabled. */ (void) bsp_isr_level; |