linux/arch/powerpc
Paul Mackerras a136a8bdc0 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>
2012-10-05 23:38:54 +02:00
..
boot powerpc/p4080ds: dts - add usb controller version info and port0 2012-08-10 07:47:02 -05:00
configs Revert "powerpc: Update g5_defconfig" 2012-08-24 20:55:55 +10:00
include/asm KVM: PPC: Book3S: Get/set guest SPRs using the GET/SET_ONE_REG interface 2012-10-05 23:38:54 +02:00
kernel powerpc/epapr: export epapr_hypercall_start 2012-10-05 23:38:40 +02:00
kvm KVM: PPC: Book3S: Get/set guest SPRs using the GET/SET_ONE_REG interface 2012-10-05 23:38:54 +02:00
lib powerpc: Fix VMX in interrupt check in POWER7 copy loops 2012-08-24 20:26:09 +10:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm KVM: PPC: Add cache flush on page map 2012-08-16 14:14:53 +02:00
net powerpc: Start using ___PPC_RA/B/S/T where necessary 2012-07-10 19:18:25 +10:00
oprofile Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
perf powerpc/perf: Use pmc_overflow() to detect rolled back events 2012-08-24 20:26:10 +10:00
platforms PPC: select EPAPR_PARAVIRT for all users of epapr hcalls 2012-10-05 23:38:37 +02:00
sysdev powerpc/fsl-soc: use CONFIG_EPAPR_PARAVIRT for hcalls 2012-10-05 23:38:38 +02:00
xmon powerpc: Fixup whitespace in xmon 2012-08-24 20:26:03 +10:00
Kconfig ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION 2012-07-30 17:25:21 -07:00
Kconfig.debug powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
Makefile crypto: nx - move nx build to driver/crypto Makefile 2012-06-27 14:42:00 +08:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00