Rowan Hart <rowanbh...@gmail.com> writes:

> This patch series adds several new API functions focused on enabling use
> cases around reading and writing guest memory from QEMU plugins. To support
> these new APIs, some utility functionality around retrieving information about
> address spaces is added as well.

I think we are almost there but I ran into a problem with the test:

  ➜  make run-tcg-tests-x86_64-softmmu
    BUILD   x86_64-softmmu guest-tests
    RUN     x86_64-softmmu guest-tests
    TEST    hello on x86_64
    TEST    interrupt on x86_64
    TEST    memory on x86_64
    TEST    hello-with-libbb.so on x86_64
    TEST    interrupt-with-libbb.so on x86_64
    TEST    memory-with-libbb.so on x86_64
    TEST    hello-with-libempty.so on x86_64
    TEST    interrupt-with-libempty.so on x86_64
    TEST    memory-with-libempty.so on x86_64
    TEST    hello-with-libinline.so on x86_64
    TEST    interrupt-with-libinline.so on x86_64
    TEST    memory-with-libinline.so on x86_64
    TEST    hello-with-libinsn.so on x86_64
    TEST    interrupt-with-libinsn.so on x86_64
    TEST    memory-with-libinsn.so on x86_64
    TEST    hello-with-libmem.so on x86_64
    TEST    interrupt-with-libmem.so on x86_64
    TEST    memory-with-libmem.so on x86_64
    TEST    check plugin libmem.so output with memory
    TEST    hello-with-libreset.so on x86_64
    TEST    interrupt-with-libreset.so on x86_64
    TEST    memory-with-libreset.so on x86_64
    TEST    hello-with-libsyscall.so on x86_64
    TEST    interrupt-with-libsyscall.so on x86_64
    TEST    memory-with-libsyscall.so on x86_64
    TEST    softmmu gdbstub support on x86_64
  qemu-system-x86_64: -gdb 
unix:path=/tmp/tmp01eq35b3qemu-gdbstub/gdbstub.socket,server=on: info: QEMU 
waiting for connection on: 
disconnected:unix:/tmp/tmp01eq35b3qemu-gdbstub/gdbstub.socket,server=on
  qemu-system-x86_64: QEMU: Terminated via GDBstub
    TEST    softmmu gdbstub support on x86_64
  qemu-system-x86_64: -gdb 
unix:path=/tmp/tmp4wf7k1fwqemu-gdbstub/gdbstub.socket,server=on: info: QEMU 
waiting for connection on: 
disconnected:unix:/tmp/tmp4wf7k1fwqemu-gdbstub/gdbstub.socket,server=on
  qemu-system-x86_64: QEMU: Terminated via GDBstub
    TEST    softmmu gdbstub untimely packets on x86_64
  qemu-system-x86_64: -gdb 
unix:path=/tmp/tmpnagp6w_mqemu-gdbstub/gdbstub.socket,server=on: info: QEMU 
waiting for connection on: 
disconnected:unix:/tmp/tmpnagp6w_mqemu-gdbstub/gdbstub.socket,server=on
    GREP    file untimely-packet.gdb.err
    TEST    softmmu gdbstub support on x86_64
  qemu-system-x86_64: -gdb 
unix:path=/tmp/tmpnkn1fbmsqemu-gdbstub/gdbstub.socket,server=on: info: QEMU 
waiting for connection on: 
disconnected:unix:/tmp/tmpnkn1fbmsqemu-gdbstub/gdbstub.socket,server=on
  qemu-system-x86_64: QEMU: Terminated via GDBstub
  make[1]: *** No rule to make target 'patch-target', needed by 
'run-plugin-patch-target-with-libpatch.so'.  Stop.
  make: *** [/home/alex/lsrc/qemu.git/tests/Makefile.include:56: 
run-tcg-tests-x86_64-softmmu] Error 2

You need to ensure vpath is set, something like:

modified   tests/tcg/x86_64/Makefile.softmmu-target
@@ -1,13 +1,11 @@
 #
-# x86 system tests
-#
-# This currently builds only for i386. The common C code is built
-# with standard compiler flags however so we can support both by
-# adding additional boot files for x86_64.
+# x86-64 system tests
 #
 
-I386_SYSTEM_SRC=$(SRC_PATH)/tests/tcg/i386/system
 X64_SYSTEM_SRC=$(SRC_PATH)/tests/tcg/x86_64/system
+X64_SYSTEM_TESTS= $(patsubst $(X64_SYSTEM_SRC)/%.c, %, $(wildcard 
$(X64_SYSTEM_SRC)/*.c))
+
+VPATH+=$(X64_SYSTEM_SRC)
 
 # These objects provide the basic boot code and helper functions for all tests
 CRT_OBJS=boot.o
@@ -18,7 +16,7 @@ LDFLAGS=-Wl,-T$(LINK_SCRIPT) -Wl,-melf_x86_64
 CFLAGS+=-nostdlib -ggdb -O0 $(MINILIB_INC)
 LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc
 
-TESTS+=$(MULTIARCH_TESTS)
+TESTS+=$(X64_SYSTEM_TESTS) $(MULTIARCH_TESTS)
 EXTRA_RUNS+=$(MULTIARCH_RUNS)
 
 # building head blobs
@@ -41,4 +39,4 @@ run-plugin-patch-target-with-libpatch.so:             \
 run-plugin-patch-target-with-libpatch.so:              \
        CHECK_PLUGIN_OUTPUT_COMMAND=$(X64_SYSTEM_SRC)/validate-patch.py $@.out
 run-plugin-patch-target-with-libpatch.so: patch-target libpatch.so
-EXTRA_RUNS+=run-plugin-patch-target-with-libpatch.so
\ No newline at end of file
+EXTRA_RUNS+=run-plugin-patch-target-with-libpatch.so

<snip>
>
> Rowan Hart (1):
>   plugins: Add enforcement of QEMU_PLUGIN_CB flags in register R/W
>     callbacks
>
> novafacing (6):
>   gdbstub: Expose gdb_write_register function to consumers of gdbstub
>   plugins: Add register write API
>   plugins: Add memory virtual address write API
>   plugins: Add memory hardware address read/write API
>   plugins: Add patcher plugin and test
>   plugins: Update plugin version and add notes

Could you update the Author fields so the Author matches the s-o-b tags
please and is consistent please.

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to