summary refs log tree commit diff stats
path: root/scripts/coccinelle
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2017-11-14 11:25:35 +0100
committerRichard Henderson <richard.henderson@linaro.org>2017-12-27 17:20:44 -0800
commit65255e8efdd5fca602bcc4ff61a879939ff75f4f (patch)
tree8b830a3e370702042443b1d98c990a60837a68a4 /scripts/coccinelle
parent281f327487c9c9b1599f93c589a408bbf4a651b8 (diff)
downloadfocaccia-qemu-65255e8efdd5fca602bcc4ff61a879939ff75f4f.tar.gz
focaccia-qemu-65255e8efdd5fca602bcc4ff61a879939ff75f4f.zip
target/*helper: don't check retaddr before calling cpu_restore_state
cpu_restore_state officially supports being passed an address it can't
resolve the state for. As a result the checks in the helpers are
superfluous and can be removed. This makes the code consistent with
other users of cpu_restore_state.

Of course this does nothing to address what to do if cpu_restore_state
can't resolve the state but so far it seems this is handled elsewhere.

The change was made with included coccinelle script.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
[rth: Fixed up comment indentation.  Added second hunk to script to
combine cpu_restore_state and cpu_loop_exit.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'scripts/coccinelle')
-rw-r--r--scripts/coccinelle/cpu_restore_state.cocci19
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/coccinelle/cpu_restore_state.cocci b/scripts/coccinelle/cpu_restore_state.cocci
new file mode 100644
index 0000000000..61bc749d14
--- /dev/null
+++ b/scripts/coccinelle/cpu_restore_state.cocci
@@ -0,0 +1,19 @@
+// Remove unneeded tests before calling cpu_restore_state
+//
+// spatch --macro-file scripts/cocci-macro-file.h \
+//        --sp-file ./scripts/coccinelle/cpu_restore_state.cocci \
+//        --keep-comments --in-place --use-gitgrep --dir target
+@@
+expression A;
+expression C;
+@@
+-if (A) {
+     cpu_restore_state(C, A);
+-}
+@@
+expression A;
+expression C;
+@@
+- cpu_restore_state(C, A);
+- cpu_loop_exit(C);
++ cpu_loop_exit_restore(C, A);