kvm.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef __LINUX_KVM_S390_H
  2. #define __LINUX_KVM_S390_H
  3. /*
  4. * asm-s390/kvm.h - KVM s390 specific structures and definitions
  5. *
  6. * Copyright IBM Corp. 2008
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License (version 2 only)
  10. * as published by the Free Software Foundation.
  11. *
  12. * Author(s): Carsten Otte <cotte@de.ibm.com>
  13. * Christian Borntraeger <borntraeger@de.ibm.com>
  14. */
  15. #include <linux/types.h>
  16. #define __KVM_S390
  17. /* for KVM_GET_REGS and KVM_SET_REGS */
  18. struct kvm_regs {
  19. /* general purpose regs for s390 */
  20. __u64 gprs[16];
  21. };
  22. /* for KVM_GET_SREGS and KVM_SET_SREGS */
  23. struct kvm_sregs {
  24. __u32 acrs[16];
  25. __u64 crs[16];
  26. };
  27. /* for KVM_GET_FPU and KVM_SET_FPU */
  28. struct kvm_fpu {
  29. __u32 fpc;
  30. __u64 fprs[16];
  31. };
  32. struct kvm_debug_exit_arch {
  33. };
  34. /* for KVM_SET_GUEST_DEBUG */
  35. struct kvm_guest_debug_arch {
  36. };
  37. #define KVM_SYNC_PREFIX (1UL << 0)
  38. #define KVM_SYNC_GPRS (1UL << 1)
  39. #define KVM_SYNC_ACRS (1UL << 2)
  40. #define KVM_SYNC_CRS (1UL << 3)
  41. /* definition of registers in kvm_run */
  42. struct kvm_sync_regs {
  43. __u64 prefix; /* prefix register */
  44. __u64 gprs[16]; /* general purpose registers */
  45. __u32 acrs[16]; /* access registers */
  46. __u64 crs[16]; /* control registers */
  47. };
  48. #endif