1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-26 15:03:53 +01:00

cpu/atmega_common/thread_arch.c: uncrustified

This commit is contained in:
Josarn 2018-06-08 17:54:06 +02:00
parent 40c1839a8c
commit 91359631d5

View File

@ -78,58 +78,58 @@ char *thread_stack_init(thread_task_func_t task_func, void *arg,
/* put marker on stack */
stk--;
*stk = (uint8_t) 0xAF;
*stk = (uint8_t)0xAF;
stk--;
*stk = (uint8_t) 0xFE;
*stk = (uint8_t)0xFE;
/* save sched_task_exit */
stk--;
tmp_adress = (uint16_t) sched_task_exit;
*stk = (uint8_t)(tmp_adress & (uint16_t) 0x00ff);
tmp_adress = (uint16_t)sched_task_exit;
*stk = (uint8_t)(tmp_adress & (uint16_t)0x00ff);
stk--;
tmp_adress >>= 8;
*stk = (uint8_t)(tmp_adress & (uint16_t) 0x00ff);
*stk = (uint8_t)(tmp_adress & (uint16_t)0x00ff);
#if FLASHEND > 0x1ffff
/* Devices with more than 128kb FLASH use a 17 bit PC, we set whole the top byte forcibly to 0 */
stk--;
*stk = (uint8_t) 0x00;
*stk = (uint8_t)0x00;
#endif
/* save address to task_func in place of the program counter */
stk--;
tmp_adress = (uint16_t) task_func;
*stk = (uint8_t)(tmp_adress & (uint16_t) 0x00ff);
tmp_adress = (uint16_t)task_func;
*stk = (uint8_t)(tmp_adress & (uint16_t)0x00ff);
stk--;
tmp_adress >>= 8;
*stk = (uint8_t)(tmp_adress & (uint16_t) 0x00ff);
*stk = (uint8_t)(tmp_adress & (uint16_t)0x00ff);
#if FLASHEND > 0x1ffff
/* Devices with more than 128kb FLASH use a 17 bit PC, we set whole the top byte forcibly to 0 */
stk--;
*stk = (uint8_t) 0x00;
*stk = (uint8_t)0x00;
#endif
/* r0 */
stk--;
*stk = (uint8_t) 0x00;
*stk = (uint8_t)0x00;
/* status register (with interrupts enabled) */
stk--;
*stk = (uint8_t) 0x80;
*stk = (uint8_t)0x80;
#if defined(EIND)
stk--;
*stk = (uint8_t) 0x00;
*stk = (uint8_t)0x00;
#endif
#if defined(RAMPZ)
stk--;
*stk = (uint8_t) 0x00;
*stk = (uint8_t)0x00;
#endif
/* r1 - has always to be 0 */
stk--;
*stk = (uint8_t) 0x00;
*stk = (uint8_t)0x00;
/*
* Space for registers r2 -r23
*
@ -140,7 +140,7 @@ char *thread_stack_init(thread_task_func_t task_func, void *arg,
for (i = 2; i <= 23; i++) {
stk--;
*stk = (uint8_t) 0;
*stk = (uint8_t)0;
}
/*
@ -148,22 +148,22 @@ char *thread_stack_init(thread_task_func_t task_func, void *arg,
* r24 and r25
* */
stk--;
tmp_adress = (uint16_t) arg;
*stk = (uint8_t)(tmp_adress & (uint16_t) 0x00ff);
tmp_adress = (uint16_t)arg;
*stk = (uint8_t)(tmp_adress & (uint16_t)0x00ff);
stk--;
tmp_adress >>= 8;
*stk = (uint8_t)(tmp_adress & (uint16_t) 0x00ff);
*stk = (uint8_t)(tmp_adress & (uint16_t)0x00ff);
/*
* Space for registers r26-r31
*/
for (i = 26; i <= 31; i++) {
stk--;
*stk = (uint8_t) i;
*stk = (uint8_t)i;
}
stk--;
return (char *) stk;
return (char *)stk;
}
/**
@ -216,18 +216,21 @@ void NORETURN __enter_thread_mode(void)
UNREACHABLE();
}
void thread_yield_higher(void) {
void thread_yield_higher(void)
{
if (irq_is_in() == 0) {
__context_save();
sched_run();
__context_restore();
__asm__ volatile("ret");
} else {
__asm__ volatile ("ret");
}
else {
sched_context_switch_request = 1;
}
}
void thread_yield_isr(void) {
void thread_yield_isr(void)
{
__context_save();
sched_run();
__context_restore();
@ -287,9 +290,7 @@ __attribute__((always_inline)) static inline void __context_save(void)
"in __tmp_reg__, __SP_L__ \n\t"
"st x+, __tmp_reg__ \n\t"
"in __tmp_reg__, __SP_H__ \n\t"
"st x+, __tmp_reg__ \n\t"
);
"st x+, __tmp_reg__ \n\t");
}
__attribute__((always_inline)) static inline void __context_restore(void)
@ -342,6 +343,5 @@ __attribute__((always_inline)) static inline void __context_restore(void)
#endif
"pop __tmp_reg__ \n\t"
"out __SREG__, __tmp_reg__ \n\t"
"pop __tmp_reg__ \n\t"
);
"pop __tmp_reg__ \n\t");
}