]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - hypervisor/arch/arm/include/asm/control.h
Merge remote-tracking branch 'kiszka/master'
[jailhouse.git] / hypervisor / arch / arm / include / asm / control.h
index a58ba90993da1ceec3829b3dfd3d068403505a09..1d64b9827b19dbefe6f9834fd3b5c7889fa99319 100644 (file)
 #ifndef _JAILHOUSE_ASM_CONTROL_H
 #define _JAILHOUSE_ASM_CONTROL_H
 
-#include <asm/cell.h>
-#include <asm/percpu.h>
-
 #define SGI_INJECT     0
 #define SGI_CPU_OFF    1
 
+#define CACHES_CLEAN           0
+#define CACHES_CLEAN_INVALIDATE        1
+
 #ifndef __ASSEMBLY__
 
+#include <jailhouse/cell.h>
+#include <asm/percpu.h>
+
+void arch_cpu_dcaches_flush(unsigned int action);
+void arch_cpu_icache_flush(void);
+void arch_cpu_tlb_flush(struct per_cpu *cpu_data);
+void arch_cell_caches_flush(struct cell *cell);
 int arch_mmu_cell_init(struct cell *cell);
+void arch_mmu_cell_destroy(struct cell *cell);
 int arch_mmu_cpu_cell_init(struct per_cpu *cpu_data);
 void arch_handle_sgi(struct per_cpu *cpu_data, u32 irqn);
 void arch_handle_trap(struct per_cpu *cpu_data, struct registers *guest_regs);
 struct registers* arch_handle_exit(struct per_cpu *cpu_data,
                                   struct registers *regs);
+bool arch_handle_phys_irq(struct per_cpu *cpu_data, u32 irqn);
+void arch_reset_self(struct per_cpu *cpu_data);
+void arch_shutdown_self(struct per_cpu *cpu_data);
+unsigned int arm_cpu_by_mpidr(struct cell *cell, unsigned long mpidr);
 
 void __attribute__((noreturn)) vmreturn(struct registers *guest_regs);
+void __attribute__((noreturn)) arch_shutdown_mmu(struct per_cpu *cpu_data);
 
 #endif /* !__ASSEMBLY__ */