kernel: activate arch interface headers

Duplicate definitions elsewhere have been removed.

A couple functions which are defined by the arch interface
to be non-inline, but were implemented inline by native_posix
and intel64, have been moved to non-inline.

Some missing conditional compilation for z_arch_irq_offload()
has been fixed, as this is an optional feature.

Some massaging of native_posix headers to get everything
in the right scope.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2019-10-03 15:20:41 -07:00 committed by Andrew Boie
commit 979b17f243
16 changed files with 54 additions and 165 deletions

View file

@ -86,45 +86,6 @@ extern "C" {
typedef u32_t (*_k_syscall_handler_t)(u32_t arg1, u32_t arg2, u32_t arg3,
u32_t arg4, u32_t arg5, u32_t arg6,
void *ssf);
#ifdef CONFIG_USERSPACE
/*
* Interfaces for invoking system calls
*/
static inline u32_t z_arch_syscall_invoke0(u32_t call_id);
static inline u32_t z_arch_syscall_invoke1(u32_t arg1, u32_t call_id);
static inline u32_t z_arch_syscall_invoke2(u32_t arg1, u32_t arg2,
u32_t call_id);
static inline u32_t z_arch_syscall_invoke3(u32_t arg1, u32_t arg2, u32_t arg3,
u32_t call_id);
static inline u32_t z_arch_syscall_invoke4(u32_t arg1, u32_t arg2, u32_t arg3,
u32_t arg4, u32_t call_id);
static inline u32_t z_arch_syscall_invoke5(u32_t arg1, u32_t arg2, u32_t arg3,
u32_t arg4, u32_t arg5,
u32_t call_id);
static inline u32_t z_arch_syscall_invoke6(u32_t arg1, u32_t arg2, u32_t arg3,
u32_t arg4, u32_t arg5, u32_t arg6,
u32_t call_id);
#endif /* CONFIG_USERSPACE */
/**
* Indicate whether we are currently running in user mode
*
* @return true if the CPU is currently running with user permissions
*/
#ifdef CONFIG_USERSPACE
static inline bool z_arch_is_user_context(void);
#else
#define z_arch_is_user_context() (true)
#endif
/* True if a syscall function must trap to the kernel, usually a
* compile-time decision.