1/* 2 * Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 3 * 4 * SPDX-License-Identifier: GPL-2.0-only 5 */ 6#pragma once 7 8#include <elfloader_common.h> 9 10typedef void (*init_arm_kernel_t)(paddr_t ui_p_reg_start, 11 paddr_t ui_p_reg_end, 12 uintptr_t pv_offset, 13 vaddr_t v_entry, 14 paddr_t dtb, uint32_t dtb_size); 15 16 17/* Enable the mmu. */ 18extern void arm_enable_mmu(void); 19extern void arm_enable_hyp_mmu(void); 20 21 22/* Setup boot VSpace. */ 23void init_boot_vspace(struct image_info *kernel_info); 24void init_hyp_boot_vspace(struct image_info *kernel_info); 25 26/* Assembly functions. */ 27extern void flush_dcache(void); 28extern void cpu_idle(void); 29 30 31void smp_boot(void); 32 33/* Secure monitor call */ 34uint32_t smc(uint32_t, uint32_t, uint32_t, uint32_t); 35