We choose a smaller magic syscall number to avoid the illegal instruction exception [1] on qemu-arm.
PATCH v3: 1. Change to a smaller magic syscall number and add comments 2. Set register flags out of the for-loop PATCH v2: 1. Rebased on newest version of master PATCH v1: 1. Format the code RFC v2: 1. Simplify the syscall filter mechanism and remove fork-cpu 2. Add QEMU_PLUGIN_EV_VCPU_SYSCALL_FILTER enum RFC v1: 1. Add syscall filter registry 2. Add fork-cpu interface to re-enter cpu_loop when handling syscalls [1] https://lore.kernel.org/qemu-devel/[email protected]/T/#m0e6809c5a894d64a8b7e67324a4b7cb414c644bf Ziyang Zhang (2): linux-user: add plugin API to filter syscalls tcg tests: add a test to verify the syscall filter plugin API include/qemu/plugin-event.h | 1 + include/qemu/plugin.h | 33 ++++++++++++----- include/qemu/qemu-plugin.h | 32 ++++++++++++++++ include/user/syscall-trace.h | 17 +++++++++ linux-user/syscall.c | 7 +++- plugins/api.c | 7 ++++ plugins/core.c | 37 +++++++++++++++++++ tests/tcg/multiarch/Makefile.target | 4 +- .../multiarch/test-plugin-syscall-filter.c | 35 ++++++++++++++++++ tests/tcg/plugins/syscall.c | 19 ++++++++++ 10 files changed, 180 insertions(+), 12 deletions(-) create mode 100644 tests/tcg/multiarch/test-plugin-syscall-filter.c -- 2.34.1
