diff --git a/src/arch/sh/hev-task-execute-sh.s b/src/arch/sh/hev-task-execute-sh.s new file mode 100644 index 0000000..f72e894 --- /dev/null +++ b/src/arch/sh/hev-task-execute-sh.s @@ -0,0 +1,26 @@ +/* + ============================================================================ + Name : hev-task-execute-sh.s + Author : hev + Copyright : Copyright (c) 2024 everyone. + Description : + ============================================================================ + */ + + .globl hev_task_execute + .type hev_task_execute, @function + +hev_task_execute: + mov.l @r4, r3 + mov.l r15, @-r3 + sts.l pr, @-r3 + + jsr @r5 + mov r3, r15 + + lds.l @r15+, pr + rts + mov.l @r15, r15 + + .end hev_task_execute + .size hev_task_execute, . - hev_task_execute diff --git a/src/kern/task/hev-task-execute.S b/src/kern/task/hev-task-execute.S index 7eddcdc..296bf57 100644 --- a/src/kern/task/hev-task-execute.S +++ b/src/kern/task/hev-task-execute.S @@ -75,6 +75,10 @@ # include "arch/s390/hev-task-execute-s390x.s" +#elif defined(__sh__) + +# include "arch/sh/hev-task-execute-sh.s" + #else # error "Unsupported platform!"