aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/virtual
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2012-09-25 16:31:56 -0400
committerAlexander Graf <agraf@suse.de>2012-10-05 17:38:54 -0400
commita136a8bdc02fc14625ac45ee846cc646fc46597e (patch)
tree7016d41b16ea11769f918526eca63a80b3014d71 /Documentation/virtual
parent5bd1cf118533aba41b3fbd4834e6362a9237db71 (diff)
KVM: PPC: Book3S: Get/set guest SPRs using the GET/SET_ONE_REG interface
This enables userspace to get and set various SPRs (special-purpose registers) using the KVM_[GS]ET_ONE_REG ioctls. With this, userspace can get and set all the SPRs that are part of the guest state, either through the KVM_[GS]ET_REGS ioctls, the KVM_[GS]ET_SREGS ioctls, or the KVM_[GS]ET_ONE_REG ioctls. The SPRs that are added here are: - DABR: Data address breakpoint register - DSCR: Data stream control register - PURR: Processor utilization of resources register - SPURR: Scaled PURR - DAR: Data address register - DSISR: Data storage interrupt status register - AMR: Authority mask register - UAMOR: User authority mask override register - MMCR0, MMCR1, MMCRA: Performance monitor unit control registers - PMC1..PMC8: Performance monitor unit counter registers In order to reduce code duplication between PR and HV KVM code, this moves the kvm_vcpu_ioctl_[gs]et_one_reg functions into book3s.c and centralizes the copying between user and kernel space there. The registers that are handled differently between PR and HV, and those that exist only in one flavor, are handled in kvmppc_[gs]et_one_reg() functions that are specific to each flavor. Signed-off-by: Paul Mackerras <paulus@samba.org> [agraf: minimal style fixes] Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'Documentation/virtual')
-rw-r--r--Documentation/virtual/kvm/api.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt
index c84739e2c0f3..af9b7a06bcae 100644
--- a/Documentation/virtual/kvm/api.txt
+++ b/Documentation/virtual/kvm/api.txt
@@ -1740,6 +1740,25 @@ registers, find a list below:
1740 PPC | KVM_REG_PPC_IAC4 | 64 1740 PPC | KVM_REG_PPC_IAC4 | 64
1741 PPC | KVM_REG_PPC_DAC1 | 64 1741 PPC | KVM_REG_PPC_DAC1 | 64
1742 PPC | KVM_REG_PPC_DAC2 | 64 1742 PPC | KVM_REG_PPC_DAC2 | 64
1743 PPC | KVM_REG_PPC_DABR | 64
1744 PPC | KVM_REG_PPC_DSCR | 64
1745 PPC | KVM_REG_PPC_PURR | 64
1746 PPC | KVM_REG_PPC_SPURR | 64
1747 PPC | KVM_REG_PPC_DAR | 64
1748 PPC | KVM_REG_PPC_DSISR | 32
1749 PPC | KVM_REG_PPC_AMR | 64
1750 PPC | KVM_REG_PPC_UAMOR | 64
1751 PPC | KVM_REG_PPC_MMCR0 | 64
1752 PPC | KVM_REG_PPC_MMCR1 | 64
1753 PPC | KVM_REG_PPC_MMCRA | 64
1754 PPC | KVM_REG_PPC_PMC1 | 32
1755 PPC | KVM_REG_PPC_PMC2 | 32
1756 PPC | KVM_REG_PPC_PMC3 | 32
1757 PPC | KVM_REG_PPC_PMC4 | 32
1758 PPC | KVM_REG_PPC_PMC5 | 32
1759 PPC | KVM_REG_PPC_PMC6 | 32
1760 PPC | KVM_REG_PPC_PMC7 | 32
1761 PPC | KVM_REG_PPC_PMC8 | 32
1743 1762
17444.69 KVM_GET_ONE_REG 17634.69 KVM_GET_ONE_REG
1745 1764