libmetal
lib
system
generic
zynq7
sys.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015, Xilinx Inc. and Contributors. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
*
7
* 1. Redistributions of source code must retain the above copyright notice,
8
* this list of conditions and the following disclaimer.
9
*
10
* 2. Redistributions in binary form must reproduce the above copyright notice,
11
* this list of conditions and the following disclaimer in the documentation
12
* and/or other materials provided with the distribution.
13
*
14
* 3. Neither the name of Xilinx nor the names of its contributors may be used
15
* to endorse or promote products derived from this software without
16
* specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
* POSSIBILITY OF SUCH DAMAGE.
29
*/
30
31
/*
32
* @file generic/zynq7/sys.h
33
* @brief generic zynq7 system primitives for libmetal.
34
*/
35
36
#ifndef __METAL_GENERIC_SYS__H__
37
#error "Include metal/sys.h instead of metal/generic/@PROJECT_MACHINE@/sys.h"
38
#endif
39
40
#include "xscugic.h"
41
42
#ifndef __METAL_GENERIC_ZYNQ7_SYS__H__
43
#define __METAL_GENERIC_ZYNQ7_SYS__H__
44
45
#ifdef __cplusplus
46
extern
"C"
{
47
#endif
48
49
#ifdef METAL_INTERNAL
50
51
#if !defined(MAX_IRQS)
52
#define MAX_IRQS ((int)XSCUGIC_MAX_NUM_INTR_INPUTS)
53
#endif
54
55
static
inline
void
sys_irq_enable(
unsigned
int
vector)
56
{
57
XScuGic_EnableIntr(XPAR_SCUGIC_0_DIST_BASEADDR, vector);
58
}
59
60
static
inline
void
sys_irq_disable(
unsigned
int
vector)
61
{
62
XScuGic_DisableIntr(XPAR_SCUGIC_0_DIST_BASEADDR, vector);
63
}
64
65
#endif
/* METAL_INTERNAL */
66
67
#ifdef __cplusplus
68
}
69
#endif
70
71
#endif
/* __METAL_GENERIC_ZYNQ7_SYS__H__ */
Generated on Sat Feb 17 2018 14:08:37 for libmetal by
1.8.14