1 /* 2 * Copyright 2019 The Hafnium Authors. 3 * 4 * Use of this source code is governed by a BSD-style 5 * license that can be found in the LICENSE file or at 6 * https://opensource.org/licenses/BSD-3-Clause. 7 */ 8 9 #pragma once 10 11 #include "hf/mm.h" 12 #include "hf/mpool.h" 13 14 /** 15 * Performs arch specific boot time initialization. 16 * 17 * It must only be called once, on first boot and must be called as early as 18 * possible. 19 */ 20 void arch_one_time_init(void); 21 22 /** 23 * Updates the hypervisor page table such that the stack address range 24 * is mapped into the address space at the corresponding address range in the 25 * architecture-specific mode. 26 */ 27 bool arch_stack_mm_init(struct mm_stage1_locked stage1_locked, 28 struct mpool *ppool); 29