libmetal
Toggle main menu visibility
Loading...
Searching...
No Matches
lib
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
12
13
#ifndef __METAL_SYS__H__
14
#define __METAL_SYS__H__
15
16
#include <stdlib.h>
17
18
#include <metal/log.h>
19
#include <metal/list.h>
20
21
#ifdef __cplusplus
22
extern
"C"
{
23
#endif
24
28
30
typedef
unsigned
long
metal_phys_addr_t
;
31
33
typedef
int
metal_irq_t
;
34
36
#define METAL_BAD_OFFSET ((unsigned long)-1)
37
39
#define METAL_BAD_PHYS ((metal_phys_addr_t)-1)
40
42
#define METAL_BAD_VA ((void *)-1)
43
45
#define METAL_BAD_IRQ ((metal_irq_t)-1)
46
50
struct
metal_init_params
{
51
53
metal_log_handler
log_handler
;
54
56
enum
metal_log_level
log_level
;
57
};
58
63
struct
metal_common_state
{
65
int
ref_count
;
66
68
enum
metal_log_level
log_level
;
69
71
metal_log_handler
log_handler
;
72
74
struct
metal_list
bus_list
;
75
77
struct
metal_list
generic_shmem_list
;
78
80
struct
metal_list
generic_device_list
;
81
};
82
83
struct
metal_state
;
84
85
#include <metal/system/@PROJECT_SYSTEM@/sys.h>
86
87
#ifndef METAL_INIT_DEFAULTS
88
#define METAL_INIT_DEFAULTS \
89
{ \
90
.log_handler = metal_default_log_handler, \
91
.log_level = METAL_LOG_INFO, \
92
}
93
#endif
94
96
extern
struct
metal_state
_metal
;
97
109
int
metal_init
(
const
struct
metal_init_params
*params);
110
118
void
metal_finish
(
void
);
119
120
#ifdef METAL_INTERNAL
121
132
int
metal_sys_init
(
const
struct
metal_init_params
*params);
133
142
void
metal_sys_finish
(
void
);
143
144
#endif
145
147
148
#ifdef __cplusplus
149
}
150
#endif
151
152
#endif
/* __METAL_SYS__H__ */
metal_log_level
metal_log_level
Definition
log.h:24
metal_log_handler
void(* metal_log_handler)(enum metal_log_level level, const char *format,...)
Definition
log.h:36
metal_finish
void metal_finish(void)
Shutdown libmetal.
Definition
init.c:39
metal_irq_t
int metal_irq_t
Definition
sys.h:33
_metal
struct metal_state _metal
Definition
init.c:16
metal_init
int metal_init(const struct metal_init_params *params)
Initialize libmetal.
Definition
init.c:15
metal_phys_addr_t
unsigned long metal_phys_addr_t
Definition
sys.h:30
metal_common_state
Definition
sys.h:63
metal_common_state::log_level
enum metal_log_level log_level
Definition
sys.h:68
metal_common_state::bus_list
struct metal_list bus_list
Definition
sys.h:74
metal_common_state::generic_shmem_list
struct metal_list generic_shmem_list
Definition
sys.h:77
metal_common_state::generic_device_list
struct metal_list generic_device_list
Definition
sys.h:80
metal_common_state::log_handler
metal_log_handler log_handler
Definition
sys.h:71
metal_common_state::ref_count
int ref_count
Definition
sys.h:65
metal_init_params
Definition
sys.h:50
metal_init_params::log_handler
metal_log_handler log_handler
Definition
sys.h:53
metal_init_params::log_level
enum metal_log_level log_level
Definition
sys.h:56
metal_list
Definition
list.h:26
metal_state
Definition
sys.h:34
metal_sys_init
int metal_sys_init(const struct metal_init_params *params)
Definition
init.c:18
metal_sys_finish
void metal_sys_finish(void)
Definition
init.c:25
Generated on
for libmetal by
1.17.0