diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-03-28 17:47:41 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-03-28 17:47:41 +0100 |
commit | f53f6a38c2b345ec07fcb5356ef7296844da7ada (patch) | |
tree | 4be442c3f92bd1a20dd9f00a08c85c43285a117f | |
parent | 2d61ce4c595245109214cb5e33b48c087ec2cbf0 (diff) |
Note TODOs before dropping ud2
-rw-r--r-- | x86_64/locore.S | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/x86_64/locore.S b/x86_64/locore.S index 5310a77d..c17ca992 100644 --- a/x86_64/locore.S +++ b/x86_64/locore.S @@ -939,6 +939,7 @@ kdb_from_iret_i: /* on interrupt stack */ popa /* restore general registers */ addq $16,%rsp +// TODO: test it before dropping ud2 movq (%rsp),%rax ud2 iretq @@ -950,6 +951,7 @@ ud2 * Same code as that above for the keyboard entry into kdb. */ ENTRY(kttd_intr) +// TODO: test it before dropping ud2 ud2 movq %rbp,%rax /* save caller`s frame pointer */ movq $EXT(return_to_iret),%rcx /* interrupt return address 1 */ @@ -1027,6 +1029,7 @@ ttd_from_iret_i: /* on interrupt stack */ popa /* restore general registers */ addq $16,%rsp +// TODO: test it before dropping ud2 movq (%rsp),%rax ud2 iretq @@ -1053,6 +1056,7 @@ syscall_entry_2: pushq %rax /* save system call number */ pushq $0 /* clear trap number slot */ +// TODO: test it before dropping ud2 ud2 pusha /* save the general registers */ @@ -1237,6 +1241,7 @@ syscall_emul: movq %rdi,R_UESP(%rbx) /* set new user stack pointer */ movq %rdx,R_EIP(%rbx) /* change return address to trap */ movq %rbx,%rsp /* back to PCB stack */ +// TODO: test it before dropping ud2 ud2 jmp _return_from_trap /* return to user */ @@ -1341,6 +1346,9 @@ ENTRY(copyinmsg) jmp copyin_remainder +bogus: + ud2 + ENTRY(copyout) xchgq %rsi,%rdi /* Get user source and kernel destination */ @@ -1366,9 +1374,6 @@ copyout_fail: movq $1,%rax /* return 1 for failure */ jmp copyout_ret /* pop frame and return */ -bogus: - ud2 - /* * Copy to user address space. * arg0: kernel address |