aboutsummaryrefslogtreecommitdiff
path: root/x86_64
diff options
context:
space:
mode:
authorLuca Dariz <luca@orpolo.org>2023-02-12 18:28:16 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-02-12 19:07:26 +0100
commitf8d840ae46e014d3c65021e169c32e5e39c9ab5a (patch)
tree9f3172a158b7cb64515c80845d6c0f706cc5e565 /x86_64
parent1956a5e0f56793e11edc8fcf0a66fb68c1e4049d (diff)
downloadgnumach-f8d840ae46e014d3c65021e169c32e5e39c9ab5a.tar.gz
gnumach-f8d840ae46e014d3c65021e169c32e5e39c9ab5a.tar.bz2
gnumach-f8d840ae46e014d3c65021e169c32e5e39c9ab5a.zip
extend data types to hold a 64-bit address
* i386/i386/trap.c: change from int to a proper type to hold a register value * x86_64/locore.S: use 64-bit register to avoid address truncation Message-Id: <20230212172818.1511405-8-luca@orpolo.org>
Diffstat (limited to 'x86_64')
-rw-r--r--x86_64/locore.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/x86_64/locore.S b/x86_64/locore.S
index c54b5cd8..a2663aff 100644
--- a/x86_64/locore.S
+++ b/x86_64/locore.S
@@ -590,7 +590,7 @@ trap_from_kernel:
ENTRY(thread_exception_return)
ENTRY(thread_bootstrap_return)
movq %rsp,%rcx /* get kernel stack */
- or $(KERNEL_STACK_SIZE-1),%ecx
+ or $(KERNEL_STACK_SIZE-1),%rcx
movq -7-IKS_SIZE(%rcx),%rsp /* switch back to PCB stack */
jmp _return_from_trap
@@ -603,7 +603,7 @@ ENTRY(thread_bootstrap_return)
ENTRY(thread_syscall_return)
movq S_ARG0,%rax /* get return value */
movq %rsp,%rcx /* get kernel stack */
- or $(KERNEL_STACK_SIZE-1),%ecx
+ or $(KERNEL_STACK_SIZE-1),%rcx
movq -7-IKS_SIZE(%rcx),%rsp /* switch back to PCB stack */
movq %rax,R_EAX(%rsp) /* save return value */
jmp _return_from_trap