Pip
Architecture-dependent parts of Pip: MAL, IAL and boot
src
arch
armv7
boot
include
periph.h
Go to the documentation of this file.
1
/*******************************************************************************/
2
/* © Université de Lille, The Pip Development Team (2015-2021) */
3
/* */
4
/* This software is a computer program whose purpose is to run a minimal, */
5
/* hypervisor relying on proven properties such as memory isolation. */
6
/* */
7
/* This software is governed by the CeCILL license under French law and */
8
/* abiding by the rules of distribution of free software. You can use, */
9
/* modify and/ or redistribute the software under the terms of the CeCILL */
10
/* license as circulated by CEA, CNRS and INRIA at the following URL */
11
/* "http://www.cecill.info". */
12
/* */
13
/* As a counterpart to the access to the source code and rights to copy, */
14
/* modify and redistribute granted by the license, users are provided only */
15
/* with a limited warranty and the software's author, the holder of the */
16
/* economic rights, and the successive licensors have only limited */
17
/* liability. */
18
/* */
19
/* In this respect, the user's attention is drawn to the risks associated */
20
/* with loading, using, modifying and/or developing or reproducing the */
21
/* software by the user in light of its specific status of free software, */
22
/* that may mean that it is complicated to manipulate, and that also */
23
/* therefore means that it is reserved for developers and experienced */
24
/* professionals having in-depth computer knowledge. Users are therefore */
25
/* encouraged to load and test the software's suitability as regards their */
26
/* requirements in conditions enabling the security of their systems and/or */
27
/* data to be ensured and, more generally, to use and operate it in the */
28
/* same conditions as regards security. */
29
/* */
30
/* The fact that you are presently reading this means that you have had */
31
/* knowledge of the CeCILL license and that you accept its terms. */
32
/*******************************************************************************/
33
34
#ifndef DEF_PERIPH_H_
35
#define DEF_PERIPH_H_
36
37
#include "
types.h
"
38
#include "
machine.h
"
39
40
#define PERIPH_RBASE (io_remapped ? PERIPH_VBASE : PERIPH_BASE)
41
42
#define CORE0_IRQ_SOURCE ((uint32_t *) 0x40000060)
43
#define LOCAL_TIMER_WRITE_FLAGS ((uint32_t *) 0x40000038)
44
45
#define IRQ2836_CONTROL 0
46
#define IRQ2836_TIMER_PRESCALER 0x8
47
#define IRQ2836_GPU_ROUTING 0xC
48
#define IRQ2836_PMU_ROUTING_SET 0x10
49
#define IRQ2836_PMU_ROUTING_CLR 0x14
50
#define IRQ2836_CORE_TIMER_LOW 0x1C
51
#define IRQ2836_CORE_TIMER_HIGH 0x20
52
#define IRQ2836_LOCAL_INT_ROUTING 0x24
53
#define IRQ2836_AXI_OUTSTD_CTR 0x2C
54
#define IRQ2836_AXI_OUTSTD_CTL 0x30
55
#define IRQ2836_LOCAL_TIMER_CTL 0x34
56
#define IRQ2836_LOCAL_TIMER_CLR_RLD 0x38
57
#define IRQ2836_TIMER_CTL 0x40
58
#define IRQ2836_MAILBOX_CTL 0x50
59
#define IRQ2836_IRQ_SOURCE 0x60
60
#define IRQ2836_FIQ_SOURCE 0x70
61
#define IRQ2836_MAILBOX_SET 0x80
62
#define IRQ2836_MAILBOX_CLR 0xC0
63
64
#define IRQ2836REG(reg) *(unsigned int*)((IRQ2836_##reg)+PERIPH_CONTROL)
65
66
#define UART0 (PERIPH_RBASE+UART0_OFFSET)
67
68
extern
bool_t
io_remapped
;
69
70
void
periph_notify_ioremap
(
int
v);
71
72
#endif
types.h
bool_t
unsigned char bool_t
Definition:
types.h:37
periph_notify_ioremap
void periph_notify_ioremap(int v)
Definition:
periph.c:38
io_remapped
bool_t io_remapped
Definition:
periph.c:36
machine.h
Generated by
1.8.13