Skip to content

Commit 5dc3d69

Browse files
committed
fix syscall handler
1 parent f8fc6ba commit 5dc3d69

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

kernel/src/syscall/mod.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ extern "C" fn asm_syscall_handler() {
9494
9595
swapgs # TODO: fix the kernel to not rely on the KERNEL_GS_BASE MSR containing the cpu_data
9696
97+
and rsp, -16 # align stack to 16 bytes
98+
9799
# backup registers for sysretq
98100
push rbp
99101
push rbx # save callee-saved registers
@@ -167,7 +169,8 @@ fn syscall_arg_to_string(ptr: usize) -> Option<String> {
167169
}
168170

169171
#[no_mangle]
170-
extern "sysv64" fn general_syscall_handler(data: SyscallData) -> i64 {
172+
extern "sysv64" fn general_syscall_handler(data: *const SyscallData) -> i64 {
173+
let data = unsafe { &*data };
171174
// println!("general_syscall_handler: {:#x?}", data);
172175

173176
let result = match data.syscall_number {
@@ -188,7 +191,7 @@ extern "sysv64" fn general_syscall_handler(data: SyscallData) -> i64 {
188191

189192
match message {
190193
Some(message) => {
191-
info!("{}", message);
194+
dbg!("{}", message);
192195
Ok(0)
193196
}
194197
None => Err(SyscallError::InvalidArgument),

0 commit comments

Comments
 (0)