Rowan Hart <[email protected]> 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 [email protected]
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