162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Copyright SUSE Linux Products GmbH 2010 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Authors: Alexander Graf <agraf@suse.de> 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef __ASM_KVM_BOOK3S_32_H__ 1062306a36Sopenharmony_ci#define __ASM_KVM_BOOK3S_32_H__ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cistatic inline struct kvmppc_book3s_shadow_vcpu *svcpu_get(struct kvm_vcpu *vcpu) 1362306a36Sopenharmony_ci{ 1462306a36Sopenharmony_ci return vcpu->arch.shadow_vcpu; 1562306a36Sopenharmony_ci} 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_cistatic inline void svcpu_put(struct kvmppc_book3s_shadow_vcpu *svcpu) 1862306a36Sopenharmony_ci{ 1962306a36Sopenharmony_ci} 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#define PTE_SIZE 12 2262306a36Sopenharmony_ci#define VSID_ALL 0 2362306a36Sopenharmony_ci#define SR_INVALID 0x00000001 /* VSID 1 should always be unused */ 2462306a36Sopenharmony_ci#define SR_KP 0x20000000 2562306a36Sopenharmony_ci#define PTE_V 0x80000000 2662306a36Sopenharmony_ci#define PTE_SEC 0x00000040 2762306a36Sopenharmony_ci#define PTE_M 0x00000010 2862306a36Sopenharmony_ci#define PTE_R 0x00000100 2962306a36Sopenharmony_ci#define PTE_C 0x00000080 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#define SID_SHIFT 28 3262306a36Sopenharmony_ci#define ESID_MASK 0xf0000000 3362306a36Sopenharmony_ci#define VSID_MASK 0x00fffffff0000000ULL 3462306a36Sopenharmony_ci#define VPN_SHIFT 12 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#endif /* __ASM_KVM_BOOK3S_32_H__ */ 37