psci.c (e0c1b8f9eba88173b30ba42eb492fd20582cf376) psci.c (d495f942f40aa412f8d4d65951152648cfa09903)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2012 - ARM Ltd
4 * Author: Marc Zyngier <marc.zyngier@arm.com>
5 */
6
7#include <linux/arm-smccc.h>
8#include <linux/preempt.h>

--- 167 unchanged lines hidden (view full) ---

176 * re-initialized.
177 */
178 kvm_for_each_vcpu(i, tmp, vcpu->kvm)
179 tmp->arch.power_off = true;
180 kvm_make_all_cpus_request(vcpu->kvm, KVM_REQ_SLEEP);
181
182 memset(&vcpu->run->system_event, 0, sizeof(vcpu->run->system_event));
183 vcpu->run->system_event.type = type;
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2012 - ARM Ltd
4 * Author: Marc Zyngier <marc.zyngier@arm.com>
5 */
6
7#include <linux/arm-smccc.h>
8#include <linux/preempt.h>

--- 167 unchanged lines hidden (view full) ---

176 * re-initialized.
177 */
178 kvm_for_each_vcpu(i, tmp, vcpu->kvm)
179 tmp->arch.power_off = true;
180 kvm_make_all_cpus_request(vcpu->kvm, KVM_REQ_SLEEP);
181
182 memset(&vcpu->run->system_event, 0, sizeof(vcpu->run->system_event));
183 vcpu->run->system_event.type = type;
184 vcpu->run->system_event.flags = flags;
184 vcpu->run->system_event.ndata = 1;
185 vcpu->run->system_event.data[0] = flags;
185 vcpu->run->exit_reason = KVM_EXIT_SYSTEM_EVENT;
186}
187
188static void kvm_psci_system_off(struct kvm_vcpu *vcpu)
189{
190 kvm_prepare_system_event(vcpu, KVM_SYSTEM_EVENT_SHUTDOWN, 0);
191}
192

--- 429 unchanged lines hidden ---
186 vcpu->run->exit_reason = KVM_EXIT_SYSTEM_EVENT;
187}
188
189static void kvm_psci_system_off(struct kvm_vcpu *vcpu)
190{
191 kvm_prepare_system_event(vcpu, KVM_SYSTEM_EVENT_SHUTDOWN, 0);
192}
193

--- 429 unchanged lines hidden ---