Skip to content

Commit

Permalink
Merge pull request #214 from VisorFolks/feature/akashkollipara/180-av…
Browse files Browse the repository at this point in the history
…r-ctx-upd

<AVR8> Updated ctx mgnt frame to reduce stk use
  • Loading branch information
pranjalchanda08 authored Jan 26, 2023
2 parents c64b841 + 08b37e1 commit 98665ba
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 53 deletions.
16 changes: 6 additions & 10 deletions src/arch/avr/8/common_5x_6/terravisor/arch.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,16 +81,12 @@ void _NORETURN arch_panic_handler_callback()
if(!frame)
goto panic;
syslog_stdout_enable();
sysdbg("r0=%p\tr1=%p\tr2=%p\tr3=%p\tr4=%p\tr5=%p\n",
frame->r0, frame->r1, frame->r2, frame->r3, frame->r4, frame->r5);
sysdbg("r6=%p\tr7=%p\tr8=%p\tr9=%p\tr10=%p\tr11=%p\n",
frame->r6, frame->r7, frame->r8, frame->r9, frame->r10, frame->r11);
sysdbg("r12=%p\tr13=%p\tr14=%p\tr15=%p\tr16=%p\tr17=%p\n",
frame->r12, frame->r13, frame->r14, frame->r15, frame->r16, frame->r17);
sysdbg("r18=%p\tr19=%p\tr20=%p\tr21=%p\tr22=%p\tr23=%p\n",
frame->r18, frame->r19, frame->r20, frame->r21, frame->r22, frame->r23);
sysdbg("r24=%p\tr25=%p\tr26=%p\tr27=%p\tr28=%p\tr29=%p\n",
frame->r24, frame->r25, frame->r26, frame->r27, frame->r28, frame->r29);
sysdbg("r0=%p\tr1=%p\tr18=%p\tr19=%p\n",
frame->r0, frame->r1, frame->r18, frame->r19);
sysdbg("r20=%p\tr21=%p\tr22=%p\tr23=%p\n",
frame->r20, frame->r21, frame->r22, frame->r23);
sysdbg("r24=%p\tr25=%p\tr26=%p\tr27=%p\n",
frame->r24, frame->r25, frame->r26, frame->r27);
sysdbg("r30=%p\tr31=%p\tSP=%p\tSREG=%p\n",
frame->r30, frame->r31, frame, frame->sreg);
#if DEBUG==0
Expand Down
41 changes: 2 additions & 39 deletions src/arch/avr/8/common_5x_6/terravisor/asm.S
Original file line number Diff line number Diff line change
Expand Up @@ -47,22 +47,6 @@ function arch_panic_handler
push r0
in r0, SREG
push r0
push r2
push r3
push r4
push r5
push r6
push r7
push r8
push r9
push r10
push r11
push r12
push r13
push r14
push r15
push r16
push r17
push r18
push r19
push r20
Expand All @@ -72,8 +56,6 @@ function arch_panic_handler
push r25
push r26
push r27
push r28
push r29
push r30
push r31
.endm
Expand All @@ -84,8 +66,6 @@ function arch_panic_handler
.macro CONTEXT_RESTORE
pop r31
pop r30
pop r29
pop r28
pop r27
pop r26
pop r25
Expand All @@ -95,22 +75,6 @@ function arch_panic_handler
pop r20
pop r19
pop r18
pop r17
pop r16
pop r15
pop r14
pop r13
pop r12
pop r11
pop r10
pop r9
pop r8
pop r7
pop r6
pop r5
pop r4
pop r3
pop r2
pop r0
out SREG, r0
pop r0
Expand Down Expand Up @@ -142,11 +106,10 @@ function int_\id
*/
function isr
CONTEXT_SAVE
push r24
in r22, IO_SPL
in r23, IO_SPH
ldi r16, 1
add r22, r16
adc r23, r1
pop r24
call interrupt_handler
CONTEXT_RESTORE
pop r24
Expand Down
7 changes: 3 additions & 4 deletions src/arch/avr/8/common_5x_6/terravisor/include/avr.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,9 @@

typedef struct context_frame
{
uint8_t r31, r30, r29, r28, r27, r26, r25, r23,
r22, r21, r20, r19, r18, r17, r16, r15,
r14, r13, r12, r11, r10, r9, r8, r7,
r6, r5, r4, r3, r2, sreg, r0, r1, r24;
uint8_t r31, r30, r27, r26, r25, r23,
r22, r21, r20, r19, r18,
sreg, r0, r1, r24;
} context_frame_t;

typedef uint16_t call_arg_t;
Expand Down

0 comments on commit 98665ba

Please sign in to comment.