On 6/19/19 6:53 AM, Alistair Francis wrote: > Allow the kernel's entry point information to be returned when loading a > kernel. > > Signed-off-by: Alistair Francis <alist...@alistair23.me>
Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > hw/arm/armv7m.c | 4 +++- > include/hw/arm/boot.h | 4 +++- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c > index b9efad6bac..8ee6291a47 100644 > --- a/hw/arm/armv7m.c > +++ b/hw/arm/armv7m.c > @@ -304,7 +304,7 @@ static void armv7m_reset(void *opaque) > cpu_reset(CPU(cpu)); > } > > -void armv7m_load_kernel(ARMCPU *cpu, const char *kernel_filename, int > mem_size) > +uint64_t armv7m_load_kernel(ARMCPU *cpu, const char *kernel_filename, int > mem_size) > { > int image_size; > uint64_t entry; > @@ -351,6 +351,8 @@ void armv7m_load_kernel(ARMCPU *cpu, const char > *kernel_filename, int mem_size) > * board must call this function! > */ > qemu_register_reset(armv7m_reset, cpu); > + > + return entry; > } > > static Property bitband_properties[] = { > diff --git a/include/hw/arm/boot.h b/include/hw/arm/boot.h > index c48cc4c2bc..4e4db0416c 100644 > --- a/include/hw/arm/boot.h > +++ b/include/hw/arm/boot.h > @@ -29,11 +29,13 @@ typedef enum { > * @kernel_filename: file to load > * @mem_size: mem_size: maximum image size to load > * > + * returns: location of the kernel's entry point > + * > * Load the guest image for an ARMv7M system. This must be called by > * any ARMv7M board. (This is necessary to ensure that the CPU resets > * correctly on system reset, as well as for kernel loading.) > */ > -void armv7m_load_kernel(ARMCPU *cpu, const char *kernel_filename, int > mem_size); > +uint64_t armv7m_load_kernel(ARMCPU *cpu, const char *kernel_filename, int > mem_size); > > /* arm_boot.c */ > struct arm_boot_info { >