kvm_book3s_32.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * This program is free software; you can redistribute it and/or modify
  3. * it under the terms of the GNU General Public License, version 2, as
  4. * published by the Free Software Foundation.
  5. *
  6. * This program is distributed in the hope that it will be useful,
  7. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  9. * GNU General Public License for more details.
  10. *
  11. * You should have received a copy of the GNU General Public License
  12. * along with this program; if not, write to the Free Software
  13. * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  14. *
  15. * Copyright SUSE Linux Products GmbH 2010
  16. *
  17. * Authors: Alexander Graf <agraf@suse.de>
  18. */
  19. #ifndef __ASM_KVM_BOOK3S_32_H__
  20. #define __ASM_KVM_BOOK3S_32_H__
  21. static inline struct kvmppc_book3s_shadow_vcpu *svcpu_get(struct kvm_vcpu *vcpu)
  22. {
  23. return vcpu->arch.shadow_vcpu;
  24. }
  25. static inline void svcpu_put(struct kvmppc_book3s_shadow_vcpu *svcpu)
  26. {
  27. }
  28. #define PTE_SIZE 12
  29. #define VSID_ALL 0
  30. #define SR_INVALID 0x00000001 /* VSID 1 should always be unused */
  31. #define SR_KP 0x20000000
  32. #define PTE_V 0x80000000
  33. #define PTE_SEC 0x00000040
  34. #define PTE_M 0x00000010
  35. #define PTE_R 0x00000100
  36. #define PTE_C 0x00000080
  37. #define SID_SHIFT 28
  38. #define ESID_MASK 0xf0000000
  39. #define VSID_MASK 0x00fffffff0000000ULL
  40. #define VPN_SHIFT 12
  41. #endif /* __ASM_KVM_BOOK3S_32_H__ */