linux/arch/powerpc/kvm
Sam bobroff 1739ea9e13 powerpc: Fix regression of per-CPU DSCR setting
Since commit "efcac65 powerpc: Per process DSCR + some fixes (try#4)"
it is no longer possible to set the DSCR on a per-CPU basis.

The old behaviour was to minipulate the DSCR SPR directly but this is no
longer sufficient: the value is quickly overwritten by context switching.

This patch stores the per-CPU DSCR value in a kernel variable rather than
directly in the SPR and it is used whenever a process has not set the DSCR
itself. The sysfs interface (/sys/devices/system/cpu/cpuN/dscr) is unchanged.

Writes to the old global default (/sys/devices/system/cpu/dscr_default)
now set all of the per-CPU values and reads return the last written value.

The new per-CPU default is added to the paca_struct and is used everywhere
outside of sysfs.c instead of the old global default.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2014-05-28 13:35:40 +10:00
..
44x_emulate.c kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
44x_tlb.c kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
44x_tlb.h
44x.c KVM: PPC: Add devname:kvm aliases for modules 2014-01-09 10:14:00 +01:00
book3s_32_mmu_host.c KVM: PPC: NULL return of kvmppc_mmu_hpte_cache_next should be handled 2014-01-09 10:15:11 +01:00
book3s_32_mmu.c KVM: PPC: Book3S PR: Better handling of host-side read-only pages 2013-10-17 14:49:35 +02:00
book3s_32_sr.S
book3s_64_mmu_host.c kvm: powerpc: book3s: pr: move PR related tracepoints to a separate header 2013-10-17 15:36:22 +02:00
book3s_64_mmu_hv.c KVM: PPC: Book3S HV: Add transactional memory support 2014-03-29 19:58:02 +11:00
book3s_64_mmu.c KVM: PPC: Book3S PR: Better handling of host-side read-only pages 2013-10-17 14:49:35 +02:00
book3s_64_slb.S
book3s_64_vio_hv.c KVM: PPC: Book3S: Introduce hypervisor call H_GET_TCE 2014-03-26 23:34:27 +11:00
book3s_64_vio.c
book3s_emulate.c kvm: powerpc: book3s: Support building HV and PR KVM as module 2013-10-17 15:45:35 +02:00
book3s_exports.c KVM: PPC: Use load_fp/vr_state rather than load_up_fpu/altivec 2014-01-09 10:14:59 +01:00
book3s_hv_builtin.c powerpc/kvm/book3s_hv: Rework the secondary inhibit code 2014-05-28 13:35:34 +10:00
book3s_hv_cma.c
book3s_hv_cma.h
book3s_hv_interrupts.S powerpc: No need to use dot symbols when branching to a function 2014-04-23 10:05:16 +10:00
book3s_hv_ras.c powerpc/book3s: Decode and save machine check event. 2013-12-05 16:05:20 +11:00
book3s_hv_rm_mmu.c KVM: PPC: Book3S HV: Don't use kvm_memslots() in real mode 2014-03-29 19:58:35 +11:00
book3s_hv_rm_xics.c
book3s_hv_rmhandlers.S powerpc: Fix regression of per-CPU DSCR setting 2014-05-28 13:35:40 +10:00
book3s_hv.c powerpc/kvm/book3s_hv: Use threads_per_subcore in KVM 2014-05-28 13:35:37 +10:00
book3s_interrupts.S powerpc/booke64: Use SPRG7 for VDSO 2014-03-19 19:57:14 -05:00
book3s_mmu_hpte.c kvm: powerpc: book3s: pr: move PR related tracepoints to a separate header 2013-10-17 15:36:22 +02:00
book3s_paired_singles.c KVM: PPC: Store FP/VSX/VMX state in thread_fp/vr_state structures 2014-01-09 10:15:00 +01:00
book3s_pr_papr.c KVM: PPC: Book3S PR: Make HPT accesses and updates SMP-safe 2013-10-17 14:45:04 +02:00
book3s_pr.c Merge branch 'kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-queue 2014-01-29 18:29:01 +01:00
book3s_rmhandlers.S Merge branch 'kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-queue 2014-01-29 18:29:01 +01:00
book3s_rtas.c KVM: PPC: Book3S: Trim top 4 bits of physical address in RTAS code 2014-03-29 19:58:23 +11:00
book3s_segment.S KVM: PPC: Book3S PR: Cope with doorbell interrupts 2014-01-27 16:01:23 +01:00
book3s_xics.c KVM: PPC: fix couple of memory leaks in MPIC/XICS devices 2014-01-09 10:14:54 +01:00
book3s_xics.h
book3s.c KVM: PPC: Store FP/VSX/VMX state in thread_fp/vr_state structures 2014-01-09 10:15:00 +01:00
book3s.h kvm: powerpc: book3s: Allow the HV and PR selection per virtual machine 2013-10-17 18:42:36 +02:00
booke_emulate.c
booke_interrupts.S
booke.c Merge branch 'kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-queue 2014-01-29 18:29:01 +01:00
booke.h KVM: PPC: Load/save FP/VMX/VSX state directly to/from vcpu struct 2014-01-09 10:15:02 +01:00
bookehv_interrupts.S powerpc/booke64: Use SPRG_TLB_EXFRAME on bolted handlers 2014-03-19 19:57:15 -05:00
e500_emulate.c kvm: powerpc: Add kvmppc_ops callback 2013-10-17 15:24:26 +02:00
e500_mmu_host.c kvm: powerpc: use caching attributes as per linux pte 2014-01-09 10:15:08 +01:00
e500_mmu_host.h
e500_mmu.c KVM: PPC: e500: Fix bad address type in deliver_tlb_misss() 2014-01-27 16:00:54 +01:00
e500.c KVM: PPC: Add devname:kvm aliases for modules 2014-01-09 10:14:00 +01:00
e500.h kvm: powerpc: use caching attributes as per linux pte 2014-01-09 10:15:08 +01:00
e500mc.c KVM: PPC: Add devname:kvm aliases for modules 2014-01-09 10:14:00 +01:00
emulate.c KVM: PPC: Book3S: MMIO emulation support for little endian guests 2014-01-27 16:00:39 +01:00
fpu.S
irq.h
Kconfig Here are the 3.13 KVM changes. There was a lot of work on the PPC 2013-11-15 13:51:36 +09:00
Makefile kvm: powerpc: book3s: Support building HV and PR KVM as module 2013-10-17 15:45:35 +02:00
mpic.c KVM: PPC: fix couple of memory leaks in MPIC/XICS devices 2014-01-09 10:14:54 +01:00
powerpc.c powerpc/kvm/book3s_hv: Use threads_per_subcore in KVM 2014-05-28 13:35:37 +10:00
timing.c
timing.h
trace_booke.h kvm: powerpc: booke: Move booke related tracepoints to separate header 2013-10-17 15:37:16 +02:00
trace_pr.h kvm: powerpc: book3s: pr: move PR related tracepoints to a separate header 2013-10-17 15:36:22 +02:00
trace.h kvm: powerpc: booke: Move booke related tracepoints to separate header 2013-10-17 15:37:16 +02:00