]>
Commit | Line | Data |
---|---|---|
ca20cf32 BS |
1 | #ifndef LOADER_H |
2 | #define LOADER_H | |
84f2d0ea | 3 | #include "qapi/qmp/qdict.h" |
ca20cf32 BS |
4 | |
5 | /* loader.c */ | |
6 | int get_image_size(const char *filename); | |
7 | int load_image(const char *filename, uint8_t *addr); /* deprecated */ | |
a8170e5e | 8 | int load_image_targphys(const char *filename, hwaddr, |
80a2ba3d | 9 | uint64_t max_sz); |
409dbce5 AJ |
10 | int load_elf(const char *filename, uint64_t (*translate_fn)(void *, uint64_t), |
11 | void *translate_opaque, uint64_t *pentry, uint64_t *lowaddr, | |
12 | uint64_t *highaddr, int big_endian, int elf_machine, | |
13 | int clear_lsb); | |
a8170e5e AK |
14 | int load_aout(const char *filename, hwaddr addr, int max_sz, |
15 | int bswap_needed, hwaddr target_page_size); | |
16 | int load_uimage(const char *filename, hwaddr *ep, | |
17 | hwaddr *loadaddr, int *is_linux); | |
ca20cf32 | 18 | |
725e14e9 | 19 | ssize_t read_targphys(const char *name, |
a8170e5e | 20 | int fd, hwaddr dst_addr, size_t nbytes); |
3c178e72 | 21 | void pstrcpy_targphys(const char *name, |
a8170e5e | 22 | hwaddr dest, int buf_size, |
ca20cf32 | 23 | const char *source); |
45a50b16 | 24 | |
bdb5ee30 GH |
25 | |
26 | int rom_add_file(const char *file, const char *fw_dir, | |
a8170e5e | 27 | hwaddr addr, int32_t bootindex); |
45a50b16 | 28 | int rom_add_blob(const char *name, const void *blob, size_t len, |
a8170e5e | 29 | hwaddr addr); |
45a50b16 | 30 | int rom_load_all(void); |
8832cb80 | 31 | void rom_set_fw(void *f); |
a8170e5e AK |
32 | int rom_copy(uint8_t *dest, hwaddr addr, size_t size); |
33 | void *rom_ptr(hwaddr addr); | |
84f2d0ea | 34 | void do_info_roms(Monitor *mon, const QDict *qdict); |
45a50b16 | 35 | |
2e55e842 GN |
36 | #define rom_add_file_fixed(_f, _a, _i) \ |
37 | rom_add_file(_f, NULL, _a, _i) | |
45a50b16 | 38 | #define rom_add_blob_fixed(_f, _b, _l, _a) \ |
632cf034 | 39 | rom_add_blob(_f, _b, _l, _a) |
45a50b16 GH |
40 | |
41 | #define PC_ROM_MIN_VGA 0xc0000 | |
42 | #define PC_ROM_MIN_OPTION 0xc8000 | |
43 | #define PC_ROM_MAX 0xe0000 | |
44 | #define PC_ROM_ALIGN 0x800 | |
45 | #define PC_ROM_SIZE (PC_ROM_MAX - PC_ROM_MIN_VGA) | |
46 | ||
de2aff17 | 47 | int rom_add_vga(const char *file); |
2e55e842 | 48 | int rom_add_option(const char *file, int32_t bootindex); |
45a50b16 | 49 | |
ca20cf32 | 50 | #endif |