16#include <l4/sys/l4int.h>
18#include <l4/sys/__kip-arch.h>
23struct l4_kip_platform_info
27 struct l4_kip_platform_info_arch arch;
30#if L4_MWORD_BITS == 32
31# include <l4/sys/__kip-32bit.h>
33# include <l4/sys/__kip-64bit.h>
47enum l4_kernel_info_consts_t
49 L4_KIP_VERSION_FIASCO = 0x87004444,
50 L4_KIP_VERSION_FIASCO_MASK = 0xff00ffff,
85#define L4_KERNEL_INFO_MAGIC (0x4BE6344CL)
185{
return l4_global_kip; }
189{
return kip->
version & L4_KIP_VERSION_FIASCO_MASK; }
197{
return kip->offset_version_strings << 4; }
204 kip_time_fn_read_us read_us =
213 kip_time_fn_read_ns read_ns =
230#define l4_kip_for_each_feature(s) \
231 for (s += __builtin_strlen(s) + 1; *s; s += __builtin_strlen(s) + 1)
230#define l4_kip_for_each_feature(s) \ …
252 if (__builtin_strcmp(s, str) == 0)
L4 compiler related defines.
unsigned long l4_umword_t
Unsigned machine word.
l4_uint64_t l4_cpu_time_t
CPU clock type.
unsigned char l4_uint8_t
Unsigned 8bit value.
unsigned int l4_uint32_t
Unsigned 32bit value.
unsigned long long l4_uint64_t
Unsigned 64bit value.
int l4_kernel_info_version_offset(l4_kernel_info_t const *kip) L4_NOTHROW
Return offset in bytes of version_strings relative to the KIP base.
l4_umword_t l4_kip_clock_lw(l4_kernel_info_t const *kip) L4_NOTHROW
Return least significant machine word of clock value from the KIP.
l4_kernel_info_t const * l4_kip(void) L4_NOTHROW
Get Kernel Info Page.
const char * l4_kip_version_string(l4_kernel_info_t const *kip) L4_NOTHROW
Get the kernel version string.
l4_umword_t l4_kip_version(l4_kernel_info_t const *kip) L4_NOTHROW
Get the kernel version.
l4_cpu_time_t l4_kip_clock(l4_kernel_info_t const *kip) L4_NOTHROW
Return clock value from the KIP.
l4_uint64_t l4_kip_clock_ns(l4_kernel_info_t const *kip) L4_NOTHROW
Return current clock using the KIP in nanoseconds.
@ L4_KIP_OFFS_READ_NS
Offset of KIP code (provided by the kernel) for reading the time stamp counter and transforming this ...
@ L4_KIP_OFFS_READ_US
Offset of KIP code (provided by the kernel) for reading the KIP clock in microseconds.
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
#define L4_INLINE
L4 Inline function attribute.
#define L4_DEPRECATED(s)
Mark symbol deprecated.
L4 Kernel Interface Page.
l4_uint32_t version
Kernel version.
int l4_kip_kernel_has_feature(l4_kernel_info_t const *kip, char const *str)
Check if kernel supports a feature.
#define l4_kip_for_each_feature(s)
Cycle through kernel features given in the KIP.