2 * Jailhouse, a Linux-based partitioning hypervisor
4 * Copyright (c) Siemens AG, 2013
7 * Jan Kiszka <jan.kiszka@siemens.com>
9 * This work is licensed under the terms of the GNU GPL, version 2. See
10 * the COPYING file in the top-level directory.
13 #include <jailhouse/entry.h>
15 int arch_init_early(void)
20 int arch_cpu_init(struct per_cpu *cpu_data)
25 int arch_init_late(void)
30 void arch_cpu_activate_vmm(struct per_cpu *cpu_data)
35 void arch_cpu_restore(struct per_cpu *cpu_data)
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_dbg_write_init(void) {}
46 int phys_processor_id(void) { return 0; }
47 void arch_suspend_cpu(unsigned int cpu_id) {}
48 void arch_resume_cpu(unsigned int cpu_id) {}
49 void arch_reset_cpu(unsigned int cpu_id) {}
50 void arch_park_cpu(unsigned int cpu_id) {}
51 void arch_shutdown_cpu(unsigned int cpu_id) {}
52 int arch_cell_create(struct per_cpu *cpu_data, struct cell *new_cell)
54 int arch_map_memory_region(struct cell *cell,
55 const struct jailhouse_memory *mem)
57 int arch_unmap_memory_region(struct cell *cell,
58 const struct jailhouse_memory *mem)
60 void arch_cell_destroy(struct per_cpu *cpu_data, struct cell *new_cell) {}
61 void arch_config_commit(struct per_cpu *cpu_data,
62 struct cell *cell_added_removed) {}
63 void *memcpy(void *dest, const void *src, unsigned long n) { return NULL; }
64 void arch_dbg_write(const char *msg) {}
65 void arch_shutdown(void) {}
66 unsigned long arch_page_map_gphys2phys(struct per_cpu *cpu_data,
69 { return INVALID_PHYS_ADDR; }
70 void arch_paging_init(void) { }
72 const struct paging arm_paging[1];
74 void arch_panic_stop(struct per_cpu *cpu_data) {__builtin_unreachable();}
75 void arch_panic_halt(struct per_cpu *cpu_data) {}