qemu/scripts
Peter Maydell aadea887f4 scripts/coccinelle: New script to add ResetType to hold and exit phases
We pass a ResetType argument to the Resettable class enter phase
method, but we don't pass it to hold and exit, even though the
callsites have it readily available.  This means that if a device
cared about the ResetType it would need to record it in the enter
phase method to use later on.  We should pass the type to all three
of the phase methods to avoid having to do that.

This coccinelle script adds the ResetType argument to the hold and
exit phases of the Resettable interface.

The first part of the script (rules holdfn_assigned, holdfn_defined,
exitfn_assigned, exitfn_defined) update implementations of the
interface within device models, both to change the signature of their
method implementations and to pass on the reset type when they invoke
reset on some other device.

The second part of the script is various special cases:
 * method callsites in resettable_phase_hold(), resettable_phase_exit()
   and device_phases_reset()
 * updating the typedefs for the methods
 * isl_pmbus_vr.c has some code where one device's reset method directly
   calls the implementation of a different device's method

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Luc Michel <luc.michel@amd.com>
Message-id: 20240412160809.1260625-4-peter.maydell@linaro.org
2024-04-25 10:21:06 +01:00
..
ci hw/rdma: Remove deprecated pvrdma device and rdmacm-mux helper 2024-04-24 16:03:38 +02:00
coccinelle scripts/coccinelle: New script to add ResetType to hold and exit phases 2024-04-25 10:21:06 +01:00
codeconverter scripts/: spelling fixes 2023-09-08 13:08:52 +03:00
coverage scripts/coverage: initial coverage comparison script 2023-04-04 15:16:29 +01:00
coverity-scan target/nios2: Remove the deprecated Nios II target 2024-04-24 16:03:38 +02:00
kvm target/i386: enumerate bit 56 of MSR_IA32_VMX_BASIC 2023-09-21 10:39:51 +02:00
modules
oss-fuzz system: Rename softmmu/ directory as system/ 2023-10-08 21:08:08 +02:00
performance scripts/: spelling fixes 2023-09-08 13:08:52 +03:00
qapi QAPI patches patches for 2024-04-24 2024-04-24 09:23:33 -07:00
qemu-guest-agent
qemugdb
qmp python: rename qemu.aqmp to qemu.qmp 2022-04-21 11:01:00 -04:00
simplebench scripts/: spelling fixes 2023-09-08 13:08:52 +03:00
tracetool tracetool: avoid invalid escape in Python string 2023-11-09 15:03:02 +08:00
analyse-9p-simpletrace.py
analyse-locks-simpletrace.py scripts/analyse-locks-simpletrace.py: changed iteritems() to items() 2023-09-26 12:28:51 -04:00
analyze-inclusions scripts/analyze-inclusions: drop qemu-common.h from analysis 2022-04-21 16:56:55 +04:00
analyze-migration.py analyze-migration.py: Remove trick on parsing ramblocks 2024-01-29 11:02:12 +08:00
archive-source.sh make-release: do not ship dtc sources 2023-09-29 09:33:10 +02:00
block-coroutine-wrapper.py block-coroutine-wrapper: use qemu_get_current_aio_context() 2023-12-21 22:49:28 +01:00
check_sparse.py
checkpatch.pl scripts/checkpatch: Support codespell checking 2024-01-11 14:13:07 +01:00
clean-header-guards.pl disas: Remove libvixl disassembler 2022-07-05 10:15:49 +02:00
clean-includes scripts/clean-includes: Update exclude list 2024-01-30 21:20:20 +03:00
cleanup-trace-events.pl
cocci-macro-file.h compiler.h: replace QEMU_NORETURN with G_NORETURN 2022-04-21 17:03:51 +04:00
cpu-x86-uarch-abi.py scripts: drop comment about autogenerated CPU API file 2024-02-09 12:48:07 +00:00
decodetree.py tests/decode: Suppress "error: " string for expected-failure tests 2023-07-25 10:56:52 +01:00
device-crash-test python/qemu: rename command() to cmd() 2023-10-12 14:21:43 -04:00
disas-objdump.pl
dump-guest-memory.py
entitlement.sh scripts/entitlement.sh: Use backward-compatible cp flags 2021-11-30 22:25:58 +01:00
extract-vsssdk-headers
feature_to_c.py gdbstub: Add members to identify registers to GDBFeature 2024-02-28 09:10:11 +00:00
fix-multiline-comments.sh
gensyscalls.sh target/nios2: Remove the deprecated Nios II target 2024-04-24 16:03:38 +02:00
get_maintainer.pl scripts/get_maintainer.pl: don't print parentheses 2023-10-17 15:20:53 +02:00
git-submodule.sh scripts/git-submodule.sh: Don't rely on non-POSIX 'read' behaviour 2023-07-25 10:56:51 +01:00
git.orderfile scripts/git.orderfile: Display MAINTAINERS changes first 2023-01-13 16:22:57 +01:00
hxtool
kernel-doc
make-config-poison.sh exec/poison: Do not poison CONFIG_SOFTMMU 2023-06-05 12:04:29 -07:00
make-release make-release: switch to .xz format by default 2024-03-09 18:56:37 +03:00
meson-buildoptions.py meson-buildoptions: document the data at the top 2023-10-18 10:01:02 +02:00
meson-buildoptions.sh meson: Make DEBUG_REMAP a meson option 2024-04-24 15:46:00 -07:00
meson.build scripts: add a XML preprocessor script 2023-06-27 17:08:56 +02:00
minikconf.py
modinfo-collect.py scripts: make sure scripts are invoked via $(PYTHON) 2023-05-19 20:40:29 +02:00
modinfo-generate.py scripts: make sure scripts are invoked via $(PYTHON) 2023-05-19 20:40:29 +02:00
mtest2make.py mtest2make: stop disabling meson test timeouts 2024-01-12 13:23:48 +00:00
nsis.py scripts/nsis.py: Automatically package required DLLs of QEMU executables 2022-10-31 10:06:11 +01:00
probe-gdb-support.py target/nios2: Remove the deprecated Nios II target 2024-04-24 16:03:38 +02:00
python_qmp_updater.py scripts: add python_qmp_updater.py 2023-10-12 14:21:44 -04:00
qapi-gen.py
qemu-binfmt-conf.sh scripts/qemu-binfmt-conf: Add LoongArch to qemu_get_family() 2022-07-05 16:17:53 +05:30
qemu-gdb.py
qemu-stamp.py meson, configure: move --with-pkgversion, CONFIG_STAMP to meson 2022-05-07 07:46:58 +02:00
qemu-trace-stap
qemu-version.sh
qom-cast-macro-clean-cocci-gen.py scripts: Add qom-cast-macro-clean-cocci-gen.py 2023-06-05 20:48:34 +02:00
refresh-pxe-roms.sh
render_block_graph.py python/qemu: rename command() to cmd() 2023-10-12 14:21:43 -04:00
replay-dump.py scripts/replay_dump: track total number of instructions 2024-01-08 13:58:35 +00:00
shaderinclude.py build-sys: fix crlf-ending C code 2023-02-02 10:44:23 +00:00
signrom.py
simpletrace.py simpletrace: added simplified Analyzer2 class 2023-09-26 12:28:51 -04:00
symlink-install-tree.py Add information how to fix common build error on Windows in symlink-install-tree 2023-05-16 09:14:18 +02:00
tracetool.py tracetool: remove redundant --target-type / --target-name args 2024-03-12 14:52:07 -04:00
u2f-setup-gen.py
undefsym.py
update-linux-headers.sh Removal of deprecated code 2024-04-24 11:49:57 -07:00
update-mips-syscall-args.sh
update-syscalltbl.sh
userfaultfd-wrlat.py
vmstate-static-checker.py vmstate-static-checker: Recognize "num" field 2023-04-27 10:18:26 +02:00
xen-detect.c xen: Drop support for Xen versions below 4.7.1 2023-06-07 15:07:10 +01:00
xml-preprocess-test.py scripts: add a XML preprocessor script 2023-06-27 17:08:56 +02:00
xml-preprocess.py scripts/xml-preprocess: Make sure this script is invoked via the right Python 2023-10-12 00:37:39 +03:00