seL4/include/kernel/traps.h
Gerwin Klein 79da079239 Convert license tags to SPDX identifiers
This commit also converts our own copyright headers to directly use
SPDX, but leaves all other copyright header intact, only adding the
SPDX ident. As far as possible this commit also merges multiple
Data61 copyright statements/headers into one for consistency.
2020-03-09 13:21:49 +08:00

38 lines
1.1 KiB
C

/*
* Copyright 2016, General Dynamics C4 Systems
*
* SPDX-License-Identifier: GPL-2.0-only
*/
#ifndef __KERNEL_TRAPS_H
#define __KERNEL_TRAPS_H
#include <config.h>
#include <util.h>
#include <arch/kernel/traps.h>
#include <smp/lock.h>
/* This C function should be the first thing called from C after entry from
* assembly. It provides a single place to do any entry work that is not
* done in assembly for various reasons */
static inline void c_entry_hook(void)
{
arch_c_entry_hook();
#if defined(CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES) || defined(CONFIG_BENCHMARK_TRACK_UTILISATION)
ksEnter = timestamp();
#endif
}
/* This C function should be the last thing called from C before exiting
* the kernel (be it to assembly or returning to user space). It provides
* a place to provide any additional instrumentation or functionality
* in C before leaving the kernel */
static inline void c_exit_hook(void)
{
#ifdef CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES
benchmark_track_exit();
#endif /* CONFIG_BENCHMARK_TRACK_KERNEL_ENTRIES */
arch_c_exit_hook();
}
#endif /* __KERNEL_TRAPS_H */