xemu/hw/avr/boot.h
Philippe Mathieu-Daudé 7dd8f6fde4 hw/avr: Add support for loading ELF/raw binaries
Add avr_load_firmware() function to load firmware in ELF or
raw binary format.

[AM: Corrected the type of the variable containing e_flags]
[AM: Moved definition of e_flags conversion function to boot.c]
Suggested-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
Reviewed-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
Signed-off-by: Thomas Huth <huth@tuxfamily.org>
Message-Id: <20200705140315.260514-24-huth@tuxfamily.org>
[PMD: Replace load_image_targphys() by load_image_mr()]
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
2020-07-11 11:02:05 +02:00

34 lines
897 B
C

/*
* AVR loader helpers
*
* Copyright (c) 2019-2020 Philippe Mathieu-Daudé
*
* This work is licensed under the terms of the GNU GPLv2 or later.
* See the COPYING file in the top-level directory.
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef HW_AVR_BOOT_H
#define HW_AVR_BOOT_H
#include "hw/boards.h"
#include "cpu.h"
/**
* avr_load_firmware: load an image into a memory region
*
* @cpu: Handle a AVR CPU object
* @ms: A MachineState
* @mr: Memory Region to load into
* @firmware: Path to the firmware file (raw binary or ELF format)
*
* Load a firmware supplied by the machine or by the user with the
* '-bios' command line option, and put it in target memory.
*
* Returns: true on success, false on error.
*/
bool avr_load_firmware(AVRCPU *cpu, MachineState *ms,
MemoryRegion *mr, const char *firmware);
#endif