X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Femul%2Fswitch_x86_64.s;h=de0f8f65ad4315cb77974ddf67718233fed2c8de;hb=32d1445272120a254d77ce8d1af1f527da7a2c17;hp=1632c816d4b01512c7fb554043aed9d7b8a259aa;hpb=fe0a14d1434098bfd0780d06a2a7e55f27940d27;p=bertos.git diff --git a/bertos/emul/switch_x86_64.s b/bertos/emul/switch_x86_64.s index 1632c816..de0f8f65 100644 --- a/bertos/emul/switch_x86_64.s +++ b/bertos/emul/switch_x86_64.s @@ -39,20 +39,22 @@ /* void asm_switch_context(void **new_sp [%rdi], void **save_sp [%rsi]) */ .globl asm_switch_context asm_switch_context: - pushq %rax - pushq %rbx - pushq %rcx - pushq %rdx - pushq %rsi - pushq %rdi pushq %rbp + pushq %rdi + pushq %rsi + pushq %rbx + pushq %r8 + pushq %r9 + pushq %r10 + pushq %r11 movq %rsp,(%rsi) /* *save_sp = rsp */ movq (%rdi),%rsp /* rsp = *new_sp */ - popq %rbp - popq %rdi - popq %rsi - popq %rdx - popq %rcx + popq %r11 + popq %r10 + popq %r9 + popq %r8 popq %rbx - popq %rax + popq %rsi + popq %rdi + popq %rbp ret