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