File tree Expand file tree Collapse file tree 4 files changed +5
-3
lines changed Expand file tree Collapse file tree 4 files changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -106,7 +106,7 @@ cont_resume:
106
106
107
107
cont_norm:
108
108
/* calculate pointer to cont_ctx.struct_start from sp */
109
- l32i a2 , a1 , 8
109
+ l32i a2 , a1 , 4
110
110
/* sp <- cont_ctx.sp_ret */
111
111
l32i a1 , a2 , 4
112
112
Original file line number Diff line number Diff line change @@ -33,6 +33,8 @@ typedef struct cont_ {
33
33
unsigned * sp_yield ;
34
34
35
35
unsigned * stack_end ;
36
+ unsigned unused1 ;
37
+ unsigned unused2 ;
36
38
unsigned stack_guard1 ;
37
39
38
40
unsigned stack [CONT_STACKSIZE / 4 ];
Original file line number Diff line number Diff line change 25
25
void cont_init (cont_t * cont ) {
26
26
cont -> stack_guard1 = CONT_STACKGUARD ;
27
27
cont -> stack_guard2 = CONT_STACKGUARD ;
28
- cont -> stack_end = cont -> stack + (sizeof (cont -> stack ) / 4 - 1 );
28
+ cont -> stack_end = cont -> stack + (sizeof (cont -> stack ) / 4 );
29
29
cont -> struct_start = (unsigned * ) cont ;
30
30
}
31
31
Original file line number Diff line number Diff line change @@ -59,7 +59,7 @@ void preloop_update_frequency() {
59
59
extern void (*__init_array_start)(void );
60
60
extern void (*__init_array_end)(void );
61
61
62
- static cont_t g_cont;
62
+ cont_t g_cont __attribute__ ((aligned ( 16 ))) ;
63
63
static os_event_t g_loop_queue[LOOP_QUEUE_SIZE];
64
64
65
65
static uint32_t g_micros_at_task_start;
You can’t perform that action at this time.
0 commit comments