libmetal
Loading...
Searching...
No Matches
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 sys.h
9 * @brief System primitives for libmetal.
10 * @brief Top level include internal to libmetal library code.
11 */
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
22extern "C" {
23#endif
24
30typedef unsigned long metal_phys_addr_t;
31
33typedef 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
58
82
83struct 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
96extern struct metal_state _metal;
97
109int metal_init(const struct metal_init_params *params);
110
118void metal_finish(void);
119
120#ifdef METAL_INTERNAL
121
132int metal_sys_init(const struct metal_init_params *params);
133
142void metal_sys_finish(void);
143
144#endif
145
148#ifdef __cplusplus
149}
150#endif
151
152#endif /* __METAL_SYS__H__ */
metal_log_level
Definition log.h:24
void(* metal_log_handler)(enum metal_log_level level, const char *format,...)
Definition log.h:36
void metal_finish(void)
Shutdown libmetal.
Definition init.c:34
int metal_irq_t
Definition sys.h:33
struct metal_state _metal
Definition init.c:16
int metal_init(const struct metal_init_params *params)
Initialize libmetal.
Definition init.c:10
unsigned long metal_phys_addr_t
Definition sys.h:30
Definition sys.h:63
enum metal_log_level log_level
Definition sys.h:68
struct metal_list bus_list
Definition sys.h:74
struct metal_list generic_shmem_list
Definition sys.h:77
struct metal_list generic_device_list
Definition sys.h:80
metal_log_handler log_handler
Definition sys.h:71
int ref_count
Definition sys.h:65
Definition sys.h:50
metal_log_handler log_handler
Definition sys.h:53
enum metal_log_level log_level
Definition sys.h:56
Definition list.h:26
Definition sys.h:40
int metal_sys_init(const struct metal_init_params *params)
Definition init.c:18
void metal_sys_finish(void)
Definition init.c:25