1e481a1f6SAlistair Francis /* 2e481a1f6SAlistair Francis * Generic Loader 3e481a1f6SAlistair Francis * 4e481a1f6SAlistair Francis * Copyright (C) 2014 Li Guang 5e481a1f6SAlistair Francis * Written by Li Guang <lig.fnst@cn.fujitsu.com> 6e481a1f6SAlistair Francis * 7e481a1f6SAlistair Francis * This program is free software; you can redistribute it and/or modify it 8e481a1f6SAlistair Francis * under the terms of the GNU General Public License as published by the 9e481a1f6SAlistair Francis * Free Software Foundation; either version 2 of the License, or 10e481a1f6SAlistair Francis * (at your option) any later version. 11e481a1f6SAlistair Francis * 12e481a1f6SAlistair Francis * This program is distributed in the hope that it will be useful, but WITHOUT 13e481a1f6SAlistair Francis * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14e481a1f6SAlistair Francis * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15e481a1f6SAlistair Francis * for more details. 16e481a1f6SAlistair Francis */ 17e481a1f6SAlistair Francis 18e481a1f6SAlistair Francis #ifndef GENERIC_LOADER_H 19e481a1f6SAlistair Francis #define GENERIC_LOADER_H 20e481a1f6SAlistair Francis 21e481a1f6SAlistair Francis #include "elf.h" 22ec150c7eSMarkus Armbruster #include "hw/qdev-core.h" 23db1015e9SEduardo Habkost #include "qom/object.h" 24e481a1f6SAlistair Francis 25db1015e9SEduardo Habkost struct GenericLoaderState { 26e481a1f6SAlistair Francis /* <private> */ 27e481a1f6SAlistair Francis DeviceState parent_obj; 28e481a1f6SAlistair Francis 29e481a1f6SAlistair Francis /* <public> */ 30e481a1f6SAlistair Francis CPUState *cpu; 31e481a1f6SAlistair Francis 32e481a1f6SAlistair Francis uint64_t addr; 33e481a1f6SAlistair Francis uint64_t data; 34e481a1f6SAlistair Francis uint8_t data_len; 35e481a1f6SAlistair Francis uint32_t cpu_num; 36e481a1f6SAlistair Francis 37e481a1f6SAlistair Francis char *file; 38e481a1f6SAlistair Francis 39e481a1f6SAlistair Francis bool force_raw; 40e481a1f6SAlistair Francis bool data_be; 41e481a1f6SAlistair Francis bool set_pc; 42db1015e9SEduardo Habkost }; 43e481a1f6SAlistair Francis 44e481a1f6SAlistair Francis #define TYPE_GENERIC_LOADER "loader" 45*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(GenericLoaderState, GENERIC_LOADER) 46e481a1f6SAlistair Francis 47e481a1f6SAlistair Francis #endif 48