All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka-S0/GAf8tV78@public.gmane.org>
To: Guido Guenther
	<public-agx-wGvLLbajjwFAfugRpC6u6w-z5DuStaUktnZ+VzJOa5vwg@public.gmane.org>
Cc: Jun Koi
	<public-junkoi2004-Re5JQEeQqe8AvxtiuMwx3w-z5DuStaUktnZ+VzJOa5vwg@public.gmane.org>,
	public-kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f-z5DuStaUktnZ+VzJOa5vwg@public.gmane.org
Subject: Re: [PATCH] add acpi powerbutton support
Date: Sat, 19 Jan 2008 16:40:06 +0100	[thread overview]
Message-ID: <479219D6.1000707@web.de> (raw)
In-Reply-To: <20080108080928.GA9823-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 2208 bytes --]

Guido Guenther wrote:
> On Tue, Jan 08, 2008 at 01:34:30PM +0900, Jun Koi wrote:
>> Sorry for my ignorance, but .... what is the effect of this patch? So
>> I can shutdown guest VM cleanly, or smt else??
> system_powerdown in the commmand monitor now simulates the pressing of
> the acpi power button. This allows you to shutdown the system cleanly.
> This is nice for things like libvirt where you can now do a 
> 
> virsh shutdown <vm>
> 
> and the machine doesn't simply get killed. You need this patch for
> libvirt:

What about additionally listening on signals? If you run qemu from the
console, you can then just press ctrl-c to shut the guest down (instead
of killing it that way). The same happens on host shutdown (if the guest
is faster than the host's grace period before SIGKILL...).

Jan

---
 qemu/sysemu.h |    2 +-
 qemu/vl.c     |    8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

Index: kvm-userspace/qemu/vl.c
===================================================================
--- kvm-userspace.orig/qemu/vl.c
+++ kvm-userspace/qemu/vl.c
@@ -8501,6 +8501,11 @@ void qemu_get_launch_info(int *argc, cha
     *opt_incoming = incoming;
 }
 
+void qemu_powerdown_sighand(int signal)
+{
+    qemu_system_powerdown_request();
+}
+
 int main(int argc, char **argv)
 {
 #ifdef CONFIG_GDBSTUB
@@ -9475,6 +9480,9 @@ int main(int argc, char **argv)
         }
     }
 
+    signal(SIGINT, qemu_powerdown_sighand);
+    signal(SIGTERM, qemu_powerdown_sighand);
+
     machine->init(ram_size, vga_ram_size, boot_devices, ds,
                   kernel_filename, kernel_cmdline, initrd_filename, cpu_model);
 
Index: kvm-userspace/qemu/sysemu.h
===================================================================
--- kvm-userspace.orig/qemu/sysemu.h
+++ kvm-userspace/qemu/sysemu.h
@@ -35,7 +35,7 @@ int qemu_reset_requested(void);
 int qemu_powerdown_requested(void);
 #if !defined(TARGET_SPARC) && !defined(TARGET_I386)
 // Please implement a power failure function to signal the OS
-#define qemu_system_powerdown() do{}while(0)
+#define qemu_system_powerdown() exit(0)
 #else
 void qemu_system_powerdown(void);
 #endif


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 254 bytes --]

[-- Attachment #2: Type: text/plain, Size: 228 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

[-- Attachment #3: Type: text/plain, Size: 186 bytes --]

_______________________________________________
kvm-devel mailing list
kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/kvm-devel

  parent reply	other threads:[~2008-01-19 15:40 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-03 18:11 [PATCH] system_powerdown via acpi power button Guido Guenther
     [not found] ` <20080103181132.GA1077-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-03 18:14   ` acpi sci polarity Guido Guenther
     [not found]     ` <20080103181415.GB1077-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-03 21:17       ` Avi Kivity
     [not found]         ` <477D50FE.4040104-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-04 18:31           ` Guido Guenther
     [not found]             ` <20080104183158.GA14002-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-06  9:08               ` Avi Kivity
     [not found]                 ` <47809A8F.5090803-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-07 11:59                   ` Guido Guenther
     [not found]                     ` <20080107115916.GA24050-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-07 12:02                       ` [PATCH] add acpi powerbutton support Guido Guenther
     [not found]                         ` <20080107120223.GB24050-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-07 12:44                           ` Avi Kivity
     [not found]                             ` <47821EC8.4020308-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-08  4:34                               ` Jun Koi
     [not found]                                 ` <fdaac4d50801072034p7f047495jd4be276c20623be3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-01-08  8:09                                   ` Guido Guenther
     [not found]                                     ` <20080108080928.GA9823-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-19 15:40                                       ` Jan Kiszka [this message]
     [not found]                                         ` <479219D6.1000707-S0/GAf8tV78@public.gmane.org>
2008-01-20 11:56                                           ` Guido Guenther
     [not found]                                             ` <20080120115617.GA31618-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-21 10:00                                               ` Jan Kiszka
     [not found]                                                 ` <47946D4A.5000808-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-21 10:47                                                   ` Avi Kivity
     [not found]                                                     ` <47947857.4020004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-21 11:35                                                       ` Jan Kiszka
     [not found]                                                         ` <47948376.9000105-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-21 12:52                                                           ` Avi Kivity
2008-01-22  9:48                                                       ` Gerd Hoffmann
     [not found]                                                         ` <4795BBE3.5060609-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-01-22 10:06                                                           ` Jan Kiszka
2008-01-08  8:50                                   ` Avi Kivity
     [not found]                                     ` <47833938.1020609-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-09 18:00                                       ` Guido Guenther
     [not found]                                         ` <20080109180001.GA11240-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-13  9:35                                           ` Avi Kivity
     [not found]                                             ` <4789DB74.5070901-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-13 13:48                                               ` Avi Kivity
     [not found]                                                 ` <478A1694.1010307-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-14 10:23                                                   ` Guido Guenther
     [not found]                                                     ` <20080114102326.GB8987-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-14 17:34                                                       ` Avi Kivity
2008-01-18 22:20                                                   ` Avi Kivity
     [not found]                                                     ` <47912648.4030101-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-19 14:04                                                       ` Guido Guenther
2008-01-14 10:21                                               ` Guido Guenther
2008-01-14 12:41                         ` Alexey Eremenko
     [not found]                           ` <64F9B87B6B770947A9F8391472E032160C95C641-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2008-01-14 13:30                             ` Guido Guenther
2008-01-22 10:11   ` [PATCH] system_powerdown via acpi power button Jan Kiszka
     [not found]     ` <4795C134.7030400-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-22 11:49       ` Guido Guenther
     [not found]         ` <20080122114955.GA28335-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-22 12:12           ` Jan Kiszka
     [not found]             ` <4795DD9C.3040804-kv7WeFo6aLtBDgjK7y7TUQ@public.gmane.org>
2008-01-24 12:37               ` Guido Guenther
     [not found]                 ` <20080124123730.GA4527-DVvpyRRQz99DDGxTMhc9XQ@public.gmane.org>
2008-01-24 12:41                   ` Avi Kivity
     [not found]                     ` <47988797.8040208-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2008-01-24 12:50                       ` Gerd Hoffmann
     [not found]                         ` <479889B1.6030403-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-01-24 12:54                           ` Avi Kivity

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=479219D6.1000707@web.de \
    --to=jan.kiszka-s0/gaf8tv78@public.gmane.org \
    --cc=public-agx-wGvLLbajjwFAfugRpC6u6w-z5DuStaUktnZ+VzJOa5vwg@public.gmane.org \
    --cc=public-junkoi2004-Re5JQEeQqe8AvxtiuMwx3w-z5DuStaUktnZ+VzJOa5vwg@public.gmane.org \
    --cc=public-kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f-z5DuStaUktnZ+VzJOa5vwg@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.