From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Andrey Smetanin" <asmetanin@virtuozzo.com>,
"Denis V. Lunev" <den@openvz.org>,
"Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [PULL 07/43] Added generic panic handler qemu_system_guest_panicked()
Date: Wed, 9 Sep 2015 15:49:37 +0200 [thread overview]
Message-ID: <1441806613-13775-8-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1441806613-13775-1-git-send-email-pbonzini@redhat.com>
From: Andrey Smetanin <asmetanin@virtuozzo.com>
There are pieces of guest panic handling code
that can be shared in one generic function.
These code replaced by call qemu_system_guest_panicked().
Signed-off-by: Andrey Smetanin <asmetanin@virtuozzo.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Andreas Färber <afaerber@suse.de>
Message-Id: <1435924905-8926-10-git-send-email-den@openvz.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/misc/pvpanic.c | 3 +--
include/sysemu/sysemu.h | 1 +
target-s390x/kvm.c | 11 ++---------
vl.c | 6 ++++++
4 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/hw/misc/pvpanic.c b/hw/misc/pvpanic.c
index 994f8af..3709488 100644
--- a/hw/misc/pvpanic.c
+++ b/hw/misc/pvpanic.c
@@ -41,8 +41,7 @@ static void handle_event(int event)
}
if (event & PVPANIC_PANICKED) {
- qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE, &error_abort);
- vm_stop(RUN_STATE_GUEST_PANICKED);
+ qemu_system_guest_panicked();
return;
}
}
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
index 44570d1..1f6ff8f 100644
--- a/include/sysemu/sysemu.h
+++ b/include/sysemu/sysemu.h
@@ -69,6 +69,7 @@ int qemu_reset_requested_get(void);
void qemu_system_killed(int signal, pid_t pid);
void qemu_devices_reset(void);
void qemu_system_reset(bool report);
+void qemu_system_guest_panicked(void);
void qemu_add_exit_notifier(Notifier *notify);
void qemu_remove_exit_notifier(Notifier *notify);
diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c
index ae3a0af..ba1201e 100644
--- a/target-s390x/kvm.c
+++ b/target-s390x/kvm.c
@@ -1796,13 +1796,6 @@ static bool is_special_wait_psw(CPUState *cs)
return cs->kvm_run->psw_addr == 0xfffUL;
}
-static void guest_panicked(void)
-{
- qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE,
- &error_abort);
- vm_stop(RUN_STATE_GUEST_PANICKED);
-}
-
static void unmanageable_intercept(S390CPU *cpu, const char *str, int pswoffset)
{
CPUState *cs = CPU(cpu);
@@ -1811,7 +1804,7 @@ static void unmanageable_intercept(S390CPU *cpu, const char *str, int pswoffset)
str, cs->cpu_index, ldq_phys(cs->as, cpu->env.psa + pswoffset),
ldq_phys(cs->as, cpu->env.psa + pswoffset + 8));
s390_cpu_halt(cpu);
- guest_panicked();
+ qemu_system_guest_panicked();
}
static int handle_intercept(S390CPU *cpu)
@@ -1844,7 +1837,7 @@ static int handle_intercept(S390CPU *cpu)
if (is_special_wait_psw(cs)) {
qemu_system_shutdown_request();
} else {
- guest_panicked();
+ qemu_system_guest_panicked();
}
}
r = EXCP_HALTED;
diff --git a/vl.c b/vl.c
index 584ca88..c1508a6 100644
--- a/vl.c
+++ b/vl.c
@@ -1740,6 +1740,12 @@ void qemu_system_reset(bool report)
cpu_synchronize_all_post_reset();
}
+void qemu_system_guest_panicked(void)
+{
+ qapi_event_send_guest_panicked(GUEST_PANIC_ACTION_PAUSE, &error_abort);
+ vm_stop(RUN_STATE_GUEST_PANICKED);
+}
+
void qemu_system_reset_request(void)
{
if (no_reboot) {
--
2.4.3
next prev parent reply other threads:[~2015-09-09 13:50 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-09 13:49 [Qemu-devel] [PULL 00/43] First batch of misc changes for 2.5 (2015-09-09) Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 01/43] qemu-thread: handle spurious futex_wait wakeups Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 02/43] seqlock: add missing 'inline' to seqlock_read_retry Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 03/43] seqlock: read sequence number atomically Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 04/43] cpus.c: qemu_mutex_lock_iothread fix race condition at cpu thread init Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 05/43] iohandler: Use aio API Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 06/43] block/iscsi: validate block size returned from target Paolo Bonzini
2015-09-09 13:49 ` Paolo Bonzini [this message]
2015-09-09 13:49 ` [Qemu-devel] [PULL 08/43] i8257: rewrite DMA_schedule to avoid hooking into the CPU loop Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 09/43] i8257: remove cpu_request_exit irq Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 10/43] tcg: introduce tcg_current_cpu Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 11/43] remove qemu/tls.h Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 12/43] tcg: assign cpu->current_tb in a simpler place Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 13/43] tcg: synchronize cpu->exit_request and cpu->tcg_exit_req accesses Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 14/43] tcg: synchronize exit_request and tcg_current_cpu accesses Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 15/43] use qemu_cpu_kick instead of cpu_exit or qemu_cpu_kick_thread Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 16/43] tcg: signal-free qemu_cpu_kick Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 17/43] Move RAMBlock and ram_list to ram_addr.h Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 18/43] Makefile.target: include top level build dir in vpath Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 19/43] rcu: init rcu_registry_lock after fork Paolo Bonzini
2015-09-16 12:37 ` Gerd Hoffmann
2015-09-16 12:38 ` Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 20/43] rcu: fix comment with s/rcu_gp_lock/rcu_registry_lock/ Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 21/43] linux-user: call rcu_(un)register_thread on pthread_(exit|create) Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 22/43] translate-all: remove obsolete comment about l1_map Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 23/43] cutils: Add qemu_strtol() wrapper Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 24/43] cutils: Add qemu_strtoul() wrapper Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 25/43] cutils: Add qemu_strtoll() wrapper Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 26/43] cutils: Add qemu_strtoull() wrapper Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 27/43] qmp: Add example usage of strto*l() qemu wrapper Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 28/43] CODING_STYLE: update mixed declaration rules Paolo Bonzini
2015-09-09 13:49 ` [Qemu-devel] [PULL 29/43] checkpatch: adapt some tests to QEMU Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 30/43] checkpatch: remove tests that are not relevant outside the kernel Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 31/43] vhost-scsi: fix wrong vhost-scsi firmware path Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 32/43] configure: factor out adding disas configure Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 33/43] add macro file for coccinelle Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 34/43] configure: Add support for jemalloc Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 35/43] scripts/dump-guest-memory.py: fix after RAMBlock change Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 36/43] cpus: protect work list with work_mutex Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 37/43] cpus: remove tcg_halt_cond and tcg_cpu_thread globals Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 38/43] replace spinlock by QemuMutex Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 39/43] remove unused spinlock Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 40/43] tcg: add memory barriers in page_find_alloc accesses Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 41/43] tcg: comment on which functions have to be called with mmap_lock held Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 42/43] exec: make mmap_lock/mmap_unlock globally available Paolo Bonzini
2015-09-09 13:50 ` [Qemu-devel] [PULL 43/43] cpu-exec: fix lock hierarchy for user-mode emulation Paolo Bonzini
2015-09-09 18:41 ` [Qemu-devel] [PULL 00/43] First batch of misc changes for 2.5 (2015-09-09) Peter Maydell
2015-09-09 19:25 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1441806613-13775-8-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=afaerber@suse.de \
--cc=asmetanin@virtuozzo.com \
--cc=den@openvz.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).