libmetal  v2024.05.0
sys.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015, Xilinx Inc. and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*
8  * @file generic/sys.h
9  * @brief Generic system primitives for libmetal.
10  */
11 
12 #ifndef __METAL_SYS__H__
13 #error "Include metal/sys.h instead of metal/generic/sys.h"
14 #endif
15 
16 #ifndef __METAL_GENERIC_SYS__H__
17 #define __METAL_GENERIC_SYS__H__
18 
19 #include <limits.h>
20 #include <metal/errno.h>
21 #include <stdio.h>
22 #include <stdlib.h>
23 #include <stdarg.h>
24 #include <string.h>
25 
26 #ifdef XLNX_PLATFORM
27 #include <metal/system/generic/xlnx/sys.h>
28 #else
29 #include "./@PROJECT_MACHINE@/sys.h"
30 #endif
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 #ifndef METAL_MAX_DEVICE_REGIONS
37 #define METAL_MAX_DEVICE_REGIONS 1
38 #endif
39 
41 struct metal_state {
42 
45 };
46 
47 #ifdef METAL_INTERNAL
48 
52 void sys_irq_restore_enable(unsigned int flags);
53 
57 unsigned int sys_irq_save_disable(void);
58 
59 #endif /* METAL_INTERNAL */
60 
61 #ifdef __cplusplus
62 }
63 #endif
64 
65 #endif /* __METAL_GENERIC_SYS__H__ */
unsigned int sys_irq_save_disable(void)
Definition: sys.c:23
void sys_irq_restore_enable(unsigned int flags)
Definition: sys.c:17
System independent runtime state for libmetal.
Definition: sys.h:63
Structure for FreeRTOS libmetal runtime state.
Definition: sys.h:37
struct metal_common_state common
Common (system independent) data.
Definition: sys.h:40