13ebbf861SJiaxun Yang /* 23ebbf861SJiaxun Yang * Utility for QEMU MIPS to generate it's simple bootloader 33ebbf861SJiaxun Yang * 43ebbf861SJiaxun Yang * Copyright (C) 2020 Jiaxun Yang <jiaxun.yang@flygoat.com> 53ebbf861SJiaxun Yang * 63ebbf861SJiaxun Yang * SPDX-License-Identifier: GPL-2.0-or-later 73ebbf861SJiaxun Yang */ 83ebbf861SJiaxun Yang 93ebbf861SJiaxun Yang #ifndef HW_MIPS_BOOTLOADER_H 103ebbf861SJiaxun Yang #define HW_MIPS_BOOTLOADER_H 113ebbf861SJiaxun Yang 123ebbf861SJiaxun Yang #include "exec/cpu-defs.h" 133ebbf861SJiaxun Yang 14*cd5066f8SPhilippe Mathieu-Daudé void bl_gen_jump_to(void **ptr, target_ulong jump_addr); 15*cd5066f8SPhilippe Mathieu-Daudé void bl_gen_jump_kernel(void **ptr, 1636d7487bSPhilippe Mathieu-Daudé bool set_sp, target_ulong sp, 1736d7487bSPhilippe Mathieu-Daudé bool set_a0, target_ulong a0, 1836d7487bSPhilippe Mathieu-Daudé bool set_a1, target_ulong a1, 1936d7487bSPhilippe Mathieu-Daudé bool set_a2, target_ulong a2, 2036d7487bSPhilippe Mathieu-Daudé bool set_a3, target_ulong a3, 213ebbf861SJiaxun Yang target_ulong kernel_addr); 22*cd5066f8SPhilippe Mathieu-Daudé void bl_gen_write_ulong(void **ptr, target_ulong addr, target_ulong val); 23*cd5066f8SPhilippe Mathieu-Daudé void bl_gen_write_u32(void **ptr, target_ulong addr, uint32_t val); 24*cd5066f8SPhilippe Mathieu-Daudé void bl_gen_write_u64(void **ptr, target_ulong addr, uint64_t val); 253ebbf861SJiaxun Yang 263ebbf861SJiaxun Yang #endif 27