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>
		
			
				
	
	
		
			34 lines
		
	
	
		
			897 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			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
 |