kernel: allow system call with 64-bit return val
This is subject to the constraint that such system calls must have a return value which is "u64_t" or "s64_t". So far all the relevant kernel calls just have zero or one arguments, we can later add more _syscall_ret64_invokeN() APIs as needed. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
5008fedc92
commit
3ff41b9484
3 changed files with 52 additions and 11 deletions
|
@ -243,6 +243,21 @@ static inline u32_t _syscall_invoke10(u32_t arg1, u32_t arg2, u32_t arg3,
|
|||
call_id);
|
||||
}
|
||||
|
||||
static inline u64_t _syscall_ret64_invoke0(u32_t call_id)
|
||||
{
|
||||
u64_t ret;
|
||||
|
||||
_arch_syscall_invoke1((u32_t)&ret, call_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline u64_t _syscall_ret64_invoke1(u32_t arg1, u32_t call_id)
|
||||
{
|
||||
u64_t ret;
|
||||
|
||||
_arch_syscall_invoke2(arg1, (u32_t)&ret, call_id);
|
||||
return ret;
|
||||
}
|
||||
#endif /* CONFIG_USERSPACE */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue