2 * Jailhouse, a Linux-based partitioning hypervisor
4 * Test configuration for Jetson TK1 board
5 * (NVIDIA Tegra K1 quad-core Cortex-A15, 2G RAM)
7 * Copyright (c) Siemens AG, 2015
10 * Jan Kiszka <jan.kiszka@siemens.com>
12 * This work is licensed under the terms of the GNU GPL, version 2. See
13 * the COPYING file in the top-level directory.
15 * NOTE: Add "mem=1984M vmalloc=512M" to the kernel command line.
18 #include <linux/types.h>
19 #include <jailhouse/cell-config.h>
21 #define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
24 struct jailhouse_system header;
26 struct jailhouse_memory mem_regions[10];
27 struct jailhouse_irqchip irqchips[1];
28 } __attribute__((packed)) config = {
30 .signature = JAILHOUSE_SYSTEM_SIGNATURE,
31 .hypervisor_memory = {
32 .phys_start = 0xfc000000,
33 .size = 0x4000000 - 0x100000, /* -1MB (PSCI) */
36 .phys_start = 0x70006000,
38 .flags = JAILHOUSE_MEM_IO,
43 .cpu_set_size = sizeof(config.cpus),
44 .num_memory_regions = ARRAY_SIZE(config.mem_regions),
55 .phys_start = 0x01000000,
56 .virt_start = 0x01000000,
58 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
61 /* HACK: Legacy Interrupt Controller */ {
62 .phys_start = 0x60004000,
63 .virt_start = 0x60004000,
65 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
68 /* HACK: Clock and Reset Controller */ {
69 .phys_start = 0x60006000,
70 .virt_start = 0x60006000,
72 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
76 .phys_start = 0x7000d000,
77 .virt_start = 0x7000d000,
79 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
82 /* HACK: Memory Controller */ {
83 .phys_start = 0x70019000,
84 .virt_start = 0x70019000,
86 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
90 .phys_start = 0x700b0000,
91 .virt_start = 0x700b0000,
93 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
97 .phys_start = 0x7000e000,
98 .virt_start = 0x7000e000,
100 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
104 .phys_start = 0x7d004000,
105 .virt_start = 0x7d004000,
107 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
111 .phys_start = 0x70006000,
112 .virt_start = 0x70006000,
114 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
118 .phys_start = 0x80000000,
119 .virt_start = 0x80000000,
121 .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
122 JAILHOUSE_MEM_EXECUTE,
127 .address = 0x50041000,
130 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff