]> rtime.felk.cvut.cz Git - jailhouse.git/blob - configs/vexpress.c
configs: Remove obsolete chromebook config
[jailhouse.git] / configs / vexpress.c
1 /*
2  * Jailhouse, a Linux-based partitioning hypervisor
3  *
4  * Copyright (c) ARM Limited, 2014
5  *
6  * Authors:
7  *  Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
8  *
9  * This work is licensed under the terms of the GNU GPL, version 2.  See
10  * the COPYING file in the top-level directory.
11  */
12
13 #include <linux/types.h>
14 #include <jailhouse/cell-config.h>
15
16 #define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
17
18 struct {
19         struct jailhouse_system header;
20         __u64 cpus[1];
21         struct jailhouse_memory mem_regions[8];
22         struct jailhouse_irqchip irqchips[1];
23 } __attribute__((packed)) config = {
24         .header = {
25                 .hypervisor_memory = {
26                         .phys_start = 0xfc000000,
27                         .size = 0x4000000,
28                 },
29                 .debug_uart = {
30                         .phys_start = 0x1c090000,
31                         .size = 0x1000,
32                         .flags = JAILHOUSE_MEM_IO,
33                 },
34                 .root_cell = {
35                         .name = "VExpress Linux",
36
37                         .cpu_set_size = sizeof(config.cpus),
38                         .num_memory_regions = ARRAY_SIZE(config.mem_regions),
39                         .num_irqchips = 1,
40                 },
41         },
42
43         .cpus = {
44                 0xf,
45         },
46
47         .mem_regions = {
48                 /* SMC91x */ {
49                         .phys_start = 0x1a000000,
50                         .virt_start = 0x1a000000,
51                         .size = 0x00001000,
52                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
53                                 JAILHOUSE_MEM_IO,
54                 },
55                 /* SP810 */ {
56                         .phys_start = 0x1c020000,
57                         .virt_start = 0x1c020000,
58                         .size = 0x00010000,
59                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
60                                 JAILHOUSE_MEM_IO,
61                 },
62                 /* MMC */ {
63                         .phys_start = 0x1c050000,
64                         .virt_start = 0x1c050000,
65                         .size = 0x00001000,
66                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
67                                 JAILHOUSE_MEM_IO,
68                 },
69                 /* Mouse */ {
70                         .phys_start = 0x1c070000,
71                         .virt_start = 0x1c070000,
72                         .size = 0x00010000,
73                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
74                                 JAILHOUSE_MEM_IO,
75                 },
76                 /* Keyboard */ {
77                         .phys_start = 0x1c060000,
78                         .virt_start = 0x1c060000,
79                         .size = 0x00010000,
80                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
81                                 JAILHOUSE_MEM_IO,
82                 },
83                 /* UARTs */ {
84                         .phys_start = 0x1c090000,
85                         .virt_start = 0x1c090000,
86                         .size = 0x00040000,
87                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
88                                 JAILHOUSE_MEM_IO,
89                 },
90                 /* Redistributors (ignore the mmio traps)*/ {
91                         .phys_start = 0x2f100000,
92                         .virt_start = 0x2f100000,
93                         .size = 0x04000000,
94                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
95                                 JAILHOUSE_MEM_IO,
96                 },
97                 /* RAM */ {
98                         .phys_start = 0x80000000,
99                         .virt_start = 0x80000000,
100                         .size = 0x7c000000,
101                         .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
102                                 JAILHOUSE_MEM_EXECUTE,
103                 },
104         },
105         .irqchips = {
106                 /* GIC */ {
107                         .address = 0x2f000000,
108                         .pin_bitmap = 0xffffffffffffffff,
109                 },
110         },
111
112 };