loader: Trace loaded images
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Thu, 13 Jun 2019 05:09:37 +0000 (15:09 +1000)
committerStefan Hajnoczi <stefanha@redhat.com>
Wed, 18 Sep 2019 09:18:51 +0000 (10:18 +0100)
This adds a trace point which prints every loaded image. This includes
bios/firmware/kernel/initradmdisk/pcirom.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190613050937.124903-1-aik@ozlabs.ru>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Makefile.objs
hw/core/loader.c
hw/core/trace-events [new file with mode: 0644]

index 6a143dcd5790b624f2c6dbd54f64357d86d71c10..abcbd89654ac7920b7aab8a7d4c9dbd8b4bb2da5 100644 (file)
@@ -203,6 +203,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)
 
index 75eb56ddbb8c423a9454b97c85ea0fe8910c9c94..0d602193643361fff53a05dac90922ef892afb4c 100644 (file)
@@ -45,6 +45,7 @@
 #include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "qapi/error.h"
+#include "trace.h"
 #include "hw/hw.h"
 #include "disas/disas.h"
 #include "migration/vmstate.h"
@@ -1151,6 +1152,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 (file)
index 0000000..fe47a9c
--- /dev/null
@@ -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"