diff options
Diffstat (limited to 'arch/powerpc/platforms/pseries/lpar.c')
-rw-r--r-- | arch/powerpc/platforms/pseries/lpar.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/pseries/lpar.c b/arch/powerpc/platforms/pseries/lpar.c index 356bc75ca74f..4fca3def9db9 100644 --- a/arch/powerpc/platforms/pseries/lpar.c +++ b/arch/powerpc/platforms/pseries/lpar.c | |||
@@ -245,6 +245,23 @@ static void pSeries_lpar_hptab_clear(void) | |||
245 | &(ptes[j].pteh), &(ptes[j].ptel)); | 245 | &(ptes[j].pteh), &(ptes[j].ptel)); |
246 | } | 246 | } |
247 | } | 247 | } |
248 | |||
249 | #ifdef __LITTLE_ENDIAN__ | ||
250 | /* Reset exceptions to big endian */ | ||
251 | if (firmware_has_feature(FW_FEATURE_SET_MODE)) { | ||
252 | long rc; | ||
253 | |||
254 | rc = pseries_big_endian_exceptions(); | ||
255 | /* | ||
256 | * At this point it is unlikely panic() will get anything | ||
257 | * out to the user, but at least this will stop us from | ||
258 | * continuing on further and creating an even more | ||
259 | * difficult to debug situation. | ||
260 | */ | ||
261 | if (rc) | ||
262 | panic("Could not enable big endian exceptions"); | ||
263 | } | ||
264 | #endif | ||
248 | } | 265 | } |
249 | 266 | ||
250 | /* | 267 | /* |