qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH qemu] loader: Trace loaded images


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH qemu] loader: Trace loaded images
Date: Thu, 13 Jun 2019 15:08:37 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1

Hi Alexey,

On 6/13/19 7:09 AM, Alexey Kardashevskiy wrote:
> This adds a trace point which prints every loaded image. This includes
> bios/firmware/kernel/initradmdisk/pcirom.
> 
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
> ---
> 
> The example for a pseries guest:
> 
> loader_write_rom slof.bin: @0x0 size=0xe22e0 ROM=0
> loader_write_rom phdr #0: /home/aik/t/vml4120le: @0x400000 size=0x13df000 
> ROM=0
> loader_write_rom /home/aik/t/le.cpio: @0x1ad0000 size=0x9463a00 ROM=0

I find the "ROM=0" part confuse, maybe you can change to "ROM:false".

Regardless:
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>

> 
> Sadly "spapr-rtas.bin" does not show up because it is loaded from
> the spapr machine reset handler rather than via rom_reset(), may be needs
> to be fixed.
> 
> ---
>  Makefile.objs        | 1 +
>  hw/core/loader.c     | 3 +++
>  hw/core/trace-events | 2 ++
>  3 files changed, 6 insertions(+)
>  create mode 100644 hw/core/trace-events
> 
> diff --git a/Makefile.objs b/Makefile.objs
> index c8337fa34be8..036ca6752908 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -200,6 +200,7 @@ trace-events-subdirs += target/riscv
>  trace-events-subdirs += target/s390x
>  trace-events-subdirs += target/sparc
>  trace-events-subdirs += util
> +trace-events-subdirs += hw/core
>  
>  trace-events-files = $(SRC_PATH)/trace-events 
> $(trace-events-subdirs:%=$(SRC_PATH)/%/trace-events)
>  
> diff --git a/hw/core/loader.c b/hw/core/loader.c
> index a097bbe30a74..7fe083af492f 100644
> --- a/hw/core/loader.c
> +++ b/hw/core/loader.c
> @@ -44,6 +44,7 @@
>  
>  #include "qemu/osdep.h"
>  #include "qapi/error.h"
> +#include "trace.h"
>  #include "hw/hw.h"
>  #include "disas/disas.h"
>  #include "monitor/monitor.h"
> @@ -1114,6 +1115,8 @@ static void rom_reset(void *unused)
>           * CPU definitely fetches its instructions from the just written 
> data.
>           */
>          cpu_flush_icache_range(rom->addr, rom->datasize);
> +
> +        trace_loader_write_rom(rom->name, rom->addr, rom->datasize, 
> rom->isrom);
>      }
>  }
>  
> diff --git a/hw/core/trace-events b/hw/core/trace-events
> new file mode 100644
> index 000000000000..fe47a9c8cb1f
> --- /dev/null
> +++ b/hw/core/trace-events
> @@ -0,0 +1,2 @@
> +# loader.c
> +loader_write_rom(const char *name, uint64_t gpa, uint64_t size, bool isrom) 
> "%s: @0x%"PRIx64" size=0x%"PRIx64" ROM=%d"
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]