diff options
| author | Avi Kivity <avi@redhat.com> | 2012-05-08 10:00:13 -0400 |
|---|---|---|
| committer | Avi Kivity <avi@redhat.com> | 2012-05-08 10:00:13 -0400 |
| commit | f2569053e0b3ae092e2f35514f8d108647baa01f (patch) | |
| tree | f850e7d06b446c6bc598d12d40b2582ef274abf7 /include | |
| parent | 9f4260e73ac43aaa91eb5de95950e1de7002f467 (diff) | |
| parent | 54771e6217ce05a474827d9b23ff03de9d2ef2a0 (diff) | |
Merge branch 'for-upstream' of git://github.com/agraf/linux-2.6 into next
PPC updates from Alex.
* 'for-upstream' of git://github.com/agraf/linux-2.6:
KVM: PPC: Emulator: clean up SPR reads and writes
KVM: PPC: Emulator: clean up instruction parsing
kvm/powerpc: Add new ioctl to retreive server MMU infos
kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM
KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler
KVM: PPC: Book3S: Enable IRQs during exit handling
KVM: PPC: Fix PR KVM on POWER7 bare metal
KVM: PPC: Fix stbux emulation
KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields
KVM: PPC: Book3S: PR: No isync in slbie path
KVM: PPC: Book3S: PR: Optimize entry path
KVM: PPC: booke(hv): Fix save/restore of guest accessible SPRGs.
KVM: PPC: Restrict PPC_[L|ST]D macro to asm code
KVM: PPC: bookehv: Use a Macro for saving/restoring guest registers to/from their 64 bit copies.
KVM: PPC: Use clockevent multiplier and shifter for decrementer
KVM: Use minimum and maximum address mapped by TLB1
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/kvm.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 225b452e1d1..8d696cf6edc 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
| @@ -449,6 +449,30 @@ struct kvm_ppc_pvinfo { | |||
| 449 | __u8 pad[108]; | 449 | __u8 pad[108]; |
| 450 | }; | 450 | }; |
| 451 | 451 | ||
| 452 | /* for KVM_PPC_GET_SMMU_INFO */ | ||
| 453 | #define KVM_PPC_PAGE_SIZES_MAX_SZ 8 | ||
| 454 | |||
| 455 | struct kvm_ppc_one_page_size { | ||
| 456 | __u32 page_shift; /* Page shift (or 0) */ | ||
| 457 | __u32 pte_enc; /* Encoding in the HPTE (>>12) */ | ||
| 458 | }; | ||
| 459 | |||
| 460 | struct kvm_ppc_one_seg_page_size { | ||
| 461 | __u32 page_shift; /* Base page shift of segment (or 0) */ | ||
| 462 | __u32 slb_enc; /* SLB encoding for BookS */ | ||
| 463 | struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ]; | ||
| 464 | }; | ||
| 465 | |||
| 466 | #define KVM_PPC_PAGE_SIZES_REAL 0x00000001 | ||
| 467 | #define KVM_PPC_1T_SEGMENTS 0x00000002 | ||
| 468 | |||
| 469 | struct kvm_ppc_smmu_info { | ||
| 470 | __u64 flags; | ||
| 471 | __u32 slb_size; | ||
| 472 | __u32 pad; | ||
| 473 | struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ]; | ||
| 474 | }; | ||
| 475 | |||
| 452 | #define KVMIO 0xAE | 476 | #define KVMIO 0xAE |
| 453 | 477 | ||
| 454 | /* machine type bits, to be used as argument to KVM_CREATE_VM */ | 478 | /* machine type bits, to be used as argument to KVM_CREATE_VM */ |
| @@ -591,6 +615,7 @@ struct kvm_ppc_pvinfo { | |||
| 591 | #define KVM_CAP_PCI_2_3 75 | 615 | #define KVM_CAP_PCI_2_3 75 |
| 592 | #define KVM_CAP_KVMCLOCK_CTRL 76 | 616 | #define KVM_CAP_KVMCLOCK_CTRL 76 |
| 593 | #define KVM_CAP_SIGNAL_MSI 77 | 617 | #define KVM_CAP_SIGNAL_MSI 77 |
| 618 | #define KVM_CAP_PPC_GET_SMMU_INFO 78 | ||
| 594 | 619 | ||
| 595 | #ifdef KVM_CAP_IRQ_ROUTING | 620 | #ifdef KVM_CAP_IRQ_ROUTING |
| 596 | 621 | ||
| @@ -800,6 +825,8 @@ struct kvm_s390_ucas_mapping { | |||
| 800 | struct kvm_assigned_pci_dev) | 825 | struct kvm_assigned_pci_dev) |
| 801 | /* Available with KVM_CAP_SIGNAL_MSI */ | 826 | /* Available with KVM_CAP_SIGNAL_MSI */ |
| 802 | #define KVM_SIGNAL_MSI _IOW(KVMIO, 0xa5, struct kvm_msi) | 827 | #define KVM_SIGNAL_MSI _IOW(KVMIO, 0xa5, struct kvm_msi) |
| 828 | /* Available with KVM_CAP_PPC_GET_SMMU_INFO */ | ||
| 829 | #define KVM_PPC_GET_SMMU_INFO _IOR(KVMIO, 0xa6, struct kvm_ppc_smmu_info) | ||
| 803 | 830 | ||
| 804 | /* | 831 | /* |
| 805 | * ioctls for vcpu fds | 832 | * ioctls for vcpu fds |
