X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=kern%2Fswitch_x86_64.s;h=339c66762d0fddad1fc0dbea627f356ef689a0c4;hb=7f5d3d3799955d4ef380bb9199a8e32c6dc72ae1;hp=60a31e286b6bd50db1adb04ddd12fbe0fec62b12;hpb=4144653aea67c800a8219abd3b36e27ae6ab1bd3;p=bertos.git diff --git a/kern/switch_x86_64.s b/kern/switch_x86_64.s index 60a31e28..339c6676 100755 --- a/kern/switch_x86_64.s +++ b/kern/switch_x86_64.s @@ -15,6 +15,9 @@ /* * $Log$ + * Revision 1.2 2006/02/24 01:17:05 bernie + * Update for new emulator. + * * Revision 1.1 2005/11/27 03:06:15 bernie * Add x86_64 task switching (to be updated to new-style scheduler). * @@ -29,12 +32,11 @@ * */ -!!!!!! THIS FILE HAS NOT BEEN REVISED FOR THE NEW SCHEDULER API !!!!!! - /* I know it's ugly... */ #.intel_syntax -/* void AsmSwitchContext(void * new_sp, void ** save_sp) */ +/* void AsmSwitchContext(void **new_sp, void **save_sp) */ +/* %rdi %rsi .globl AsmSwitchContext AsmSwitchContext: pushq %rax @@ -45,7 +47,7 @@ AsmSwitchContext: pushq %rdi pushq %rbp movq %rsp,(%rsi) /* *save_sp = rsp */ - movq %rdi,%rsp /* rsp = new_sp */ + movq (%rdi),%rsp /* rsp = *new_sp */ popq %rbp popq %rdi popq %rsi @@ -55,16 +57,9 @@ AsmSwitchContext: popq %rax ret -/* void AsmReplaceContext(void * new_sp, void ** dummy) */ -.globl AsmReplaceContext -AsmReplaceContext: - movq %rdi,%rsp /* rsp = new_sp */ - popq %rbp - popq %rdi - popq %rsi - popq %rdx - popq %rcx - popq %rbx - popq %rax +/* int asm_switch_version(void) */ +.globl asm_switch_version +asm_switch_version: + mov $1,%rax ret