diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2012-02-16 17:22:51 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-02-20 13:09:02 -0600 |
commit | 15713df3152439e6f3083442ce25e5d94b131c39 (patch) | |
tree | 254a8602af9b41376cf4af93d02b479a36e9c666 /src/include | |
parent | 795d84dc772c9ba7dc7921b6e784e51b003cd2e2 (diff) | |
download | talos-hostboot-15713df3152439e6f3083442ce25e5d94b131c39.tar.gz talos-hostboot-15713df3152439e6f3083442ce25e5d94b131c39.zip |
Handle hype_fac_unavail exception.
The P8 processor (in RFC02230 targeted for ISA 2.07) adds a
new SPR register HFSCR (Hypervisor Facility Status and Control
Register). This register allows the hypervisor to disable
access to some resources, such as floating point and VSX,
from a partition. The purpose of this is to save time in
saving the partition context when switching partitions.
Since we sometimes enable floating point instructions we need
to also enable the HFSCR[FP]. We could do this when enabling
floating point in the MSR, but the SPR does not exist in P7.
Instead we'll do it as-needed on the hw-thread the first time
it executes a FP instruction. The FP instruction will cause
the hype_fac_unavail exception and the exception handler will
set HFSCR appropriately.
Change-Id: I6c1e75939bb59142cbcf692fa56deb2271d6bdc3
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/676
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/kernel/ppcconsts.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/kernel/ppcconsts.S b/src/include/kernel/ppcconsts.S index b83678907..6aa53a6cd 100644 --- a/src/include/kernel/ppcconsts.S +++ b/src/include/kernel/ppcconsts.S @@ -142,6 +142,7 @@ .set SRR0,26 .set SRR1,27 .set CFAR,28 + .set HFSCR,190 .set TB,268 .set SPRG0,272 .set SPRG1,273 |