xref: /qemu/include/hw/mips/bootloader.h (revision a8d6abe1292e1db1ad9be5b2b124b9c01bcda094)
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