]> rtime.felk.cvut.cz Git - jailhouse.git/blob - hypervisor/arch/arm/setup.c
arm: implement the debug routines for the pl011 UART
[jailhouse.git] / hypervisor / arch / arm / setup.c
1 /*
2  * Jailhouse, a Linux-based partitioning hypervisor
3  *
4  * Copyright (c) Siemens AG, 2013
5  *
6  * Authors:
7  *  Jan Kiszka <jan.kiszka@siemens.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 <jailhouse/entry.h>
14
15 int arch_init_early(void)
16 {
17         return -ENOSYS;
18 }
19
20 int arch_cpu_init(struct per_cpu *cpu_data)
21 {
22         return -ENOSYS;
23 }
24
25 int arch_init_late(void)
26 {
27         return -ENOSYS;
28 }
29
30 void arch_cpu_activate_vmm(struct per_cpu *cpu_data)
31 {
32         while (1);
33 }
34
35 void arch_cpu_restore(struct per_cpu *cpu_data)
36 {
37 }
38
39 // catch missing symbols
40 #include <jailhouse/printk.h>
41 #include <jailhouse/processor.h>
42 #include <jailhouse/control.h>
43 #include <jailhouse/string.h>
44 #include <jailhouse/paging.h>
45 void arch_suspend_cpu(unsigned int cpu_id) {}
46 void arch_resume_cpu(unsigned int cpu_id) {}
47 void arch_reset_cpu(unsigned int cpu_id) {}
48 void arch_park_cpu(unsigned int cpu_id) {}
49 void arch_shutdown_cpu(unsigned int cpu_id) {}
50 int arch_cell_create(struct cell *new_cell)
51 { return -ENOSYS; }
52 int arch_map_memory_region(struct cell *cell,
53                            const struct jailhouse_memory *mem)
54 { return -ENOSYS; }
55 int arch_unmap_memory_region(struct cell *cell,
56                              const struct jailhouse_memory *mem)
57 { return -ENOSYS; }
58 void arch_flush_cell_vcpu_caches(struct cell *cell) {}
59 void arch_cell_destroy(struct cell *new_cell) {}
60 void arch_config_commit(struct cell *cell_added_removed) {}
61 void arch_shutdown(void) {}
62 unsigned long arch_paging_gphys2phys(struct per_cpu *cpu_data,
63                                      unsigned long gphys, unsigned long flags)
64 { return INVALID_PHYS_ADDR; }
65 void arch_paging_init(void) { }
66
67 const struct paging arm_paging[1];
68
69 void arch_panic_stop(void) {__builtin_unreachable();}
70 void arch_panic_park(void) {}