xref: /openbmc/qemu/hw/avr/boot.h (revision d34498309cff7560ac90c422c56e3137e6a64b19)
1*7dd8f6fdSPhilippe Mathieu-Daudé /*
2*7dd8f6fdSPhilippe Mathieu-Daudé  * AVR loader helpers
3*7dd8f6fdSPhilippe Mathieu-Daudé  *
4*7dd8f6fdSPhilippe Mathieu-Daudé  * Copyright (c) 2019-2020 Philippe Mathieu-Daudé
5*7dd8f6fdSPhilippe Mathieu-Daudé  *
6*7dd8f6fdSPhilippe Mathieu-Daudé  * This work is licensed under the terms of the GNU GPLv2 or later.
7*7dd8f6fdSPhilippe Mathieu-Daudé  * See the COPYING file in the top-level directory.
8*7dd8f6fdSPhilippe Mathieu-Daudé  * SPDX-License-Identifier: GPL-2.0-or-later
9*7dd8f6fdSPhilippe Mathieu-Daudé  */
10*7dd8f6fdSPhilippe Mathieu-Daudé 
11*7dd8f6fdSPhilippe Mathieu-Daudé #ifndef HW_AVR_BOOT_H
12*7dd8f6fdSPhilippe Mathieu-Daudé #define HW_AVR_BOOT_H
13*7dd8f6fdSPhilippe Mathieu-Daudé 
14*7dd8f6fdSPhilippe Mathieu-Daudé #include "hw/boards.h"
15*7dd8f6fdSPhilippe Mathieu-Daudé #include "cpu.h"
16*7dd8f6fdSPhilippe Mathieu-Daudé 
17*7dd8f6fdSPhilippe Mathieu-Daudé /**
18*7dd8f6fdSPhilippe Mathieu-Daudé  * avr_load_firmware:   load an image into a memory region
19*7dd8f6fdSPhilippe Mathieu-Daudé  *
20*7dd8f6fdSPhilippe Mathieu-Daudé  * @cpu:        Handle a AVR CPU object
21*7dd8f6fdSPhilippe Mathieu-Daudé  * @ms:         A MachineState
22*7dd8f6fdSPhilippe Mathieu-Daudé  * @mr:         Memory Region to load into
23*7dd8f6fdSPhilippe Mathieu-Daudé  * @firmware:   Path to the firmware file (raw binary or ELF format)
24*7dd8f6fdSPhilippe Mathieu-Daudé  *
25*7dd8f6fdSPhilippe Mathieu-Daudé  * Load a firmware supplied by the machine or by the user  with the
26*7dd8f6fdSPhilippe Mathieu-Daudé  * '-bios' command line option, and put it in target memory.
27*7dd8f6fdSPhilippe Mathieu-Daudé  *
28*7dd8f6fdSPhilippe Mathieu-Daudé  * Returns: true on success, false on error.
29*7dd8f6fdSPhilippe Mathieu-Daudé  */
30*7dd8f6fdSPhilippe Mathieu-Daudé bool avr_load_firmware(AVRCPU *cpu, MachineState *ms,
31*7dd8f6fdSPhilippe Mathieu-Daudé                        MemoryRegion *mr, const char *firmware);
32*7dd8f6fdSPhilippe Mathieu-Daudé 
33*7dd8f6fdSPhilippe Mathieu-Daudé #endif
34