From 1530a85d5aefcf6497ff2129023e9a0b002603dd Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Tue, 4 May 2021 15:30:24 +0200 Subject: Solving many issues: Aligning kernel stack, improve syscall mechanism, DISABLING RED-ZONE !!!! --- src/libs/stdio.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/libs') diff --git a/src/libs/stdio.cc b/src/libs/stdio.cc index 3770cd3..e29f2cc 100644 --- a/src/libs/stdio.cc +++ b/src/libs/stdio.cc @@ -8,13 +8,13 @@ void (*__putchar)(char)=memtext_putchar; void printf(char *str,...) { u64 rsi,rdx,rcx,r8,r9; u64* rbp; - asm( "mov %%rsi, %0": "=a"(rsi)); - asm( "mov %%rdx, %0": "=a"(rdx)); - asm( "mov %%rcx, %0": "=a"(rcx)); - asm( "mov %%r8, %0": "=a"(r8)); - asm( "mov %%r9, %0": "=a"(r9)); - asm( "mov %%rbp, %0": "=a"(rbp)); - + asm volatile( "mov %%rsi, %0": "=m"(rsi)); + asm volatile( "mov %%rdx, %0": "=m"(rdx)); + asm volatile( "mov %%rcx, %0": "=m"(rcx)); + asm volatile( "mov %%r8, %0": "=m"(r8)); + asm volatile( "mov %%r9, %0": "=m"(r9)); + asm volatile( "mov %%rbp, %0": "=m"(rbp)); + // Init informations int len=strlen(str); int i=0; // Pointer to the current character -- cgit v1.2.3