All the kernel header files now use pargma once rather than the ifndef, as the pre-processed C files do not change while header files are protected with pargma once. This will also solve any naming issues caused by ifndef.
36 lines
1 KiB
C
36 lines
1 KiB
C
/*
|
|
* Copyright 2016, General Dynamics C4 Systems
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-only
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#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();
|
|
}
|
|
|