Lazuli
Loading...
Searching...
No Matches
kernel.h
Go to the documentation of this file.
1/*
2 * SPDX-License-Identifier: GPL-3.0-only
3 * This file is part of Lazuli.
4 */
5
14#ifndef LAZULI_SYS_KERNEL_H
15#define LAZULI_SYS_KERNEL_H
16
17#include <stdint.h>
18
19#include <Lazuli/common.h>
20
22#include <Lazuli/sys/memory.h>
23
25
30
34extern volatile lz_system_status_t systemStatus;
35
39#define SYSTEM_STATUS_FLAG_IN_KERNEL \
40 ((lz_system_status_t)POSITION(SYSTEM_STATUS_FLAG_IN_KERNEL_POSITION))
41
45#define SYSTEM_STATUS_IS_IN_KERNEL (systemStatus & SYSTEM_STATUS_FLAG_IN_KERNEL)
46
51
58void
59Kernel_Panic(void);
60
70void
72
74
75#endif /* LAZULI_SYS_KERNEL_H */
unsigned char uint8_t
Represents a unsigned integer type with width of exactly 8 bits.
Definition stdint.h:89
Basic type definitions and useful macros.
#define _EXTERN_C_DECL_BEGIN
Open C++ header file declarations.
Definition common.h:39
#define _EXTERN_C_DECL_END
Close C++ header file declarations.
Definition common.h:44
volatile lz_system_status_t systemStatus
System status "register" (bit field).
Definition kernel.c:45
uint8_t lz_system_status_t
The type used for the system status "register".
Definition kernel.h:29
void Kernel_ManageFailure(void)
Manage a failure that can happen in a function call.
Definition kernel.c:95
AllocationMap kernelAllocationMap
Allocation map for the kernel.
Definition kernel.c:47
void Kernel_Panic(void)
Kernel panic.
Definition kernel.c:84
Kernel symbols definition usable in ASM source files.
Memory management API.
Represents a map of the allocated memory regions and useful memory handlers for a task or the kernel.
Definition memory.h:25