On 05/07/2017 06:35 AM, Krzysztof Kozlowski wrote: > On all Exynos-based boards, the system powers down itself by driving > PS_HOLD signal low. Handle writing to respective PMU register to fix > power off failure: > > reboot: Power down > Unable to poweroff system > shutdown: 31 output lines suppressed due to ratelimiting > Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 > > CPU: 0 PID: 1 Comm: shutdown Not tainted 4.11.0-rc8 #846 > Hardware name: SAMSUNG EXYNOS (Flattened Device Tree) > [<c031050c>] (unwind_backtrace) from [<c030ba6c>] (show_stack+0x10/0x14) > [<c030ba6c>] (show_stack) from [<c05b2800>] (dump_stack+0x88/0x9c) > [<c05b2800>] (dump_stack) from [<c03d3140>] (panic+0xdc/0x268) > [<c03d3140>] (panic) from [<c0343614>] (do_exit+0xa90/0xab4) > [<c0343614>] (do_exit) from [<c035f2dc>] (SyS_reboot+0x164/0x1d0) > [<c035f2dc>] (SyS_reboot) from [<c0307c80>] (ret_fast_syscall+0x0/0x3c) > > Signed-off-by: Krzysztof Kozlowski <k...@kernel.org> > --- > hw/misc/exynos4210_pmu.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+)
> @@ -397,6 +398,12 @@ typedef struct Exynos4210PmuState { > uint32_t reg[PMU_NUM_OF_REGISTERS]; > } Exynos4210PmuState; > > +static void exynos4210_pmu_poweroff(void) > +{ > + PRINT_DEBUG("QEMU PMU: PS_HOLD bit down, powering off\n"); > + qemu_system_shutdown_request(); Depending on whether your patch lands before or after mine, we'll have to update this. It sounds like it is a guest-triggered reset, so my patch would have this use SHUTDOWN_CAUSE_GUEST_SHUTDOWN. https://lists.gnu.org/archive/html/qemu-devel/2017-05/msg01380.html -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature