diff options
author | Keith Packard <keithp@keithp.com> | 2012-10-24 23:21:38 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2012-10-25 00:07:14 -0700 |
commit | 7d34811ba035367bbf26a8510265754f3fbb5a95 (patch) | |
tree | 6016de6362e66169f6773b773a8ea08096fd5de0 /src | |
parent | 09aa379fc57cd4f30c18c7bda2532a79109354c2 (diff) |
altos: Add ao_arch_block/release_interrupts to avr and cc1111
Stop using cli/sei for AVR, add replacement to __critical for cc1111
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/avr/ao_arch.h | 3 | ||||
-rw-r--r-- | src/cc1111/ao_arch.h | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/avr/ao_arch.h b/src/avr/ao_arch.h index 96659aaf..c82612a8 100644 --- a/src/avr/ao_arch.h +++ b/src/avr/ao_arch.h @@ -150,6 +150,9 @@ extern uint8_t ao_cpu_sleep_disable; #define ao_arch_critical(b) do { cli(); do { b } while (0); sei(); } while (0) +#define ao_arch_block_interrupts() cli() +#define ao_arch_release_interrupts() sei() + #define AO_TELESCIENCE_NUM_ADC 12 #endif /* _AO_ARCH_H_ */ diff --git a/src/cc1111/ao_arch.h b/src/cc1111/ao_arch.h index 7fdfad80..f2442eb6 100644 --- a/src/cc1111/ao_arch.h +++ b/src/cc1111/ao_arch.h @@ -153,6 +153,11 @@ extern AO_ROMCONFIG_SYMBOL(0x00a6) uint32_t ao_radio_cal; #define ao_arch_cpu_idle() (PCON = PCON_IDLE) +#define ao_arch_block_interrupts() __asm clr ea __endasm +#define ao_arch_release_interrupts() __asm setb ea __endasm +#define cli() ao_arch_block_interrupts() +#define sei() ao_arch_release_interrupts() + #define ao_arch_restore_stack() { \ uint8_t stack_len; \ __data uint8_t *stack_ptr; \ |