mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 20:42:56 +01:00
nova: fix syscall bindings for 32bit
The bindings for 32bit did not consider that in the syscall_3 function edx changes due to the assembly instructions and that in the syscall_4 function edx and ecx change. So, the compiler wrongly assumed that the content of these registers stayed unchanged. Fixes #1447
This commit is contained in:
committed by
Christian Helmuth
parent
e664c979b2
commit
2a4b67f90b
@@ -120,8 +120,8 @@ namespace Nova {
|
||||
" sysenter;"
|
||||
"1:"
|
||||
" pop %%ebx;"
|
||||
: "+a" (status)
|
||||
: "D" (p1), "S" (p2), "d" (p3)
|
||||
: "+a" (status), "+d" (p3)
|
||||
: "D" (p1), "S" (p2)
|
||||
: "ecx");
|
||||
return status;
|
||||
}
|
||||
@@ -149,8 +149,8 @@ namespace Nova {
|
||||
|
||||
" pop %%ebx;"
|
||||
" pop %%ebp;"
|
||||
: "+a" (status)
|
||||
: "D" (p1), "S" (p2), "c" (p3), "d" (p4)
|
||||
: "+a" (status), "+c" (p3), "+d" (p4)
|
||||
: "D" (p1), "S" (p2)
|
||||
: "memory");
|
||||
return status;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user