From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57861) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aPQkR-0001NF-DJ for qemu-devel@nongnu.org; Sat, 30 Jan 2016 03:19:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aPQkN-0007qA-CW for qemu-devel@nongnu.org; Sat, 30 Jan 2016 03:19:11 -0500 Message-ID: <56AC71D8.1090509@huawei.com> Date: Sat, 30 Jan 2016 16:18:32 +0800 From: Shannon Zhao MIME-Version: 1.0 References: <1454005340-15682-1-git-send-email-wei@redhat.com> <56AB78A6.7070505@redhat.com> In-Reply-To: <56AB78A6.7070505@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH 1/1] arm: virt: change GPIO trigger interrupt to pulse List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wei Huang , Shannon Zhao Cc: "qemu-trivial@nongnu.org" , "peter.maydell@linaro.org" , "qemu-devel@nongnu.org" On 2016/1/29 22:35, Wei Huang wrote: > > On 01/29/2016 04:10 AM, Shannon Zhao wrote: >> > Hi, >> > >> > This makes ACPI work well but makes DT not work. The reason is systemd or >> > acpid open /dev/input/event0 failed. To correct, systemd or acpid open /dev/input/event0 successfully but it waits for events and when we input "system_powerdown", it doesn't get the event. > So the interrupt could be injected and >> > could see under /proc/interrupts but guest doesn't have any action. I'll >> > investigate why it opens failed later. > That is interesting. Could you try it with the following? This reverses > the order to down-up and worked on ACPI case. > > qemu_set_irq(qdev_get_gpio_in(pl061_dev, 3), 0); > qemu_set_irq(qdev_get_gpio_in(pl061_dev, 3), 1); If we don't input "system_powerdown" during guest booting(before device driver load), current QEMU with above codes could work for DT. But if we input "system_powerdown" during guest booting, guest has no action when we input "system_powerdown" again after guest booting completely. I add dc->reset for pl061 but get the same result. Below is the output of acpid: ./acpid -l -n -d input layer /dev/input/event0 (gpio-keys) opened successfully, fd 4 inotify fd: 5 inotify wd: 1 RTNETLINK1 answers: No such file or directory acpid: error talking to the kernel via netlink netlink opened successfully acpid: starting up with netlink and the input layer parsing conf file /etc/acpi/events/powerbtn acpid: 1 rule loaded acpid: waiting for events: event logging is on It will stuck here even if we input "system_powerdown". Below is the right output when we input "system_powerdown". ./acpid -l -n -d input layer /dev/input/event0 (gpio-keys) opened successfully, fd 4 inotify fd: 5 inotify wd: 1 RTNETLINK1 answers: No such file or directory acpid: error talking to the kernel via netlink netlink opened successfully acpid: starting up with netlink and the input layer parsing conf file /etc/acpi/events/powerbtn acpid: 1 rule loaded acpid: waiting for events: event logging is on acpid: received input layer event "button/power PBTN 00000080 00000000" acpid: rule from /etc/acpi/events/powerbtn matched acpid: executing action "/etc/acpi/powerbtn.sh" Thanks, -- Shannon