diff options
| author | Michael Ellerman <michael@ellerman.id.au> | 2013-06-05 14:03:36 -0400 |
|---|---|---|
| committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-06-09 18:36:35 -0400 |
| commit | b11ae95100f7061b39a15e5c1ecbf862464ac4b4 (patch) | |
| tree | 93f11462e58eb8d31c58712a6eba5f9de6a62c29 /arch/powerpc/kernel | |
| parent | 6772faa1ba22eba18d087c2459030a683b65be57 (diff) | |
powerpc: Partial revert of "Context switch more PMU related SPRs"
In commit 59affcd I added context switching of more PMU SPRs, because
they are potentially exposed to userspace on Power8. However despite me
being a smart arse in the commit message it's actually not correct. In
particular it interacts badly with a global perf record.
We will have to do something more complicated, but that will have to
wait for 3.11.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel')
| -rw-r--r-- | arch/powerpc/kernel/entry_64.S | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index 246b11c4fe7e..8741c854e03d 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S | |||
| @@ -465,20 +465,6 @@ BEGIN_FTR_SECTION | |||
| 465 | std r0, THREAD_EBBHR(r3) | 465 | std r0, THREAD_EBBHR(r3) |
| 466 | mfspr r0, SPRN_EBBRR | 466 | mfspr r0, SPRN_EBBRR |
| 467 | std r0, THREAD_EBBRR(r3) | 467 | std r0, THREAD_EBBRR(r3) |
| 468 | |||
| 469 | /* PMU registers made user read/(write) by EBB */ | ||
| 470 | mfspr r0, SPRN_SIAR | ||
| 471 | std r0, THREAD_SIAR(r3) | ||
| 472 | mfspr r0, SPRN_SDAR | ||
| 473 | std r0, THREAD_SDAR(r3) | ||
| 474 | mfspr r0, SPRN_SIER | ||
| 475 | std r0, THREAD_SIER(r3) | ||
| 476 | mfspr r0, SPRN_MMCR0 | ||
| 477 | std r0, THREAD_MMCR0(r3) | ||
| 478 | mfspr r0, SPRN_MMCR2 | ||
| 479 | std r0, THREAD_MMCR2(r3) | ||
| 480 | mfspr r0, SPRN_MMCRA | ||
| 481 | std r0, THREAD_MMCRA(r3) | ||
| 482 | END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S) | 468 | END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S) |
| 483 | #endif | 469 | #endif |
| 484 | 470 | ||
| @@ -581,20 +567,6 @@ BEGIN_FTR_SECTION | |||
| 581 | ld r0, THREAD_EBBRR(r4) | 567 | ld r0, THREAD_EBBRR(r4) |
| 582 | mtspr SPRN_EBBRR, r0 | 568 | mtspr SPRN_EBBRR, r0 |
| 583 | 569 | ||
| 584 | /* PMU registers made user read/(write) by EBB */ | ||
| 585 | ld r0, THREAD_SIAR(r4) | ||
| 586 | mtspr SPRN_SIAR, r0 | ||
| 587 | ld r0, THREAD_SDAR(r4) | ||
| 588 | mtspr SPRN_SDAR, r0 | ||
| 589 | ld r0, THREAD_SIER(r4) | ||
| 590 | mtspr SPRN_SIER, r0 | ||
| 591 | ld r0, THREAD_MMCR0(r4) | ||
| 592 | mtspr SPRN_MMCR0, r0 | ||
| 593 | ld r0, THREAD_MMCR2(r4) | ||
| 594 | mtspr SPRN_MMCR2, r0 | ||
| 595 | ld r0, THREAD_MMCRA(r4) | ||
| 596 | mtspr SPRN_MMCRA, r0 | ||
| 597 | |||
| 598 | ld r0,THREAD_TAR(r4) | 570 | ld r0,THREAD_TAR(r4) |
| 599 | mtspr SPRN_TAR,r0 | 571 | mtspr SPRN_TAR,r0 |
| 600 | END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S) | 572 | END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S) |
