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: Alexey Kardashevskiy
Subject: Re: [Qemu-devel] [PATCH qemu] loader: Trace loaded images
Date: Fri, 14 Jun 2019 10:13:04 +1000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0


On 13/06/2019 23:08, Philippe Mathieu-Daudé wrote:
> 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".

How? I mean I can do that in the code as rom->isrom?"true":"false" and
make trace point accept "%s" but it is quite ugly and others seem to
just use %d for bool.

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

Thanks!

> 
>>
>> 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"
>>

-- 
Alexey



reply via email to

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