summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kernel/forceattn_p9.S (renamed from src/kernel/forceattn_p8.S)16
-rw-r--r--src/kernel/makefile4
-rw-r--r--src/kernel/terminate.C4
-rw-r--r--src/makefile4
4 files changed, 16 insertions, 12 deletions
diff --git a/src/kernel/forceattn_p8.S b/src/kernel/forceattn_p9.S
index c1a31e045..093908ed8 100644
--- a/src/kernel/forceattn_p8.S
+++ b/src/kernel/forceattn_p9.S
@@ -1,7 +1,7 @@
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
-# $Source: src/kernel/forceattn_p8.S $
+# $Source: src/kernel/forceattn_p9.S $
#
# OpenPOWER HostBoot Project
#
@@ -25,13 +25,14 @@
.include "kernel/ppcconsts.S"
-.global p8_force_attn
-p8_force_attn:
- li r0, 1
+.global p9_force_attn
+p9_force_attn:
+# Update HID0 to enable attentions
+ li r0, 3
mfspr r9, HID0
- insrdi r9,r0,1,3 /* Turn on bit 3 */
+ rldimi r9,r0,60,2 /* Turn on bits 2 (flush icache) + 3 (enable attn) */
sync
- mtspr HID0,r9 /* Enable attentions */
+ mtspr HID0,r9 /* Enable attentions */
mfspr r9, HID0
mfspr r9, HID0
mfspr r9, HID0
@@ -39,6 +40,9 @@ p8_force_attn:
mfspr r9, HID0
mfspr r9, HID0
isync
+# Invoke attention instruction
+ sync
+ isync
rlwimi 31,31,0,4,22 /* MAGIC_SIMICS_SHUTDOWN */
attn
b 0
diff --git a/src/kernel/makefile b/src/kernel/makefile
index ddf3909ab..004dfbe74 100644
--- a/src/kernel/makefile
+++ b/src/kernel/makefile
@@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2010,2017
+# Contributors Listed Below - COPYRIGHT 2010,2018
# [+] International Business Machines Corp.
#
#
@@ -59,7 +59,7 @@ OBJS += intmsghandler.o
OBJS += deferred.o
OBJS += shutdown.o
-OBJS += forceattn_p8.o
+OBJS += forceattn_p9.o
OBJS += terminate.o
OBJS += ipc.o
OBJS += machchk.o
diff --git a/src/kernel/terminate.C b/src/kernel/terminate.C
index 499fd96b9..6158b3c49 100644
--- a/src/kernel/terminate.C
+++ b/src/kernel/terminate.C
@@ -35,7 +35,7 @@
#include <kernel/kernel_reasoncodes.H>
#endif // BOOTLOADER
-extern "C" void p8_force_attn() NO_RETURN;
+extern "C" void p9_force_attn() NO_RETURN;
#ifndef BOOTLOADER
@@ -55,7 +55,7 @@ HB_Descriptor kernel_hbDescriptor =
void terminateExecuteTI()
{
// Call the function that actually executes the TI code.
- p8_force_attn();
+ p9_force_attn();
}
#ifndef BOOTLOADER
diff --git a/src/makefile b/src/makefile
index d6a4cf944..571916960 100644
--- a/src/makefile
+++ b/src/makefile
@@ -72,7 +72,7 @@ BOOTLDR_OBJECTS += bl_pnorAccess.o
BOOTLDR_OBJECTS += bl_pnor_utils.o
BOOTLDR_OBJECTS += bl_pnor_ecc.o
BOOTLDR_OBJECTS += bl_terminate.o
-BOOTLDR_OBJECTS += forceattn_p8.o
+BOOTLDR_OBJECTS += forceattn_p9.o
BOOTLDR_OBJECTS += bl_string_utils.o
BOOTLDR_OBJECTS += rom_entry.o
@@ -116,7 +116,7 @@ DIRECT_BOOT_OBJECTS += blockmsghdlr.o
DIRECT_BOOT_OBJECTS += stacksegment.o
DIRECT_BOOT_OBJECTS += softpatch_p8.o
DIRECT_BOOT_OBJECTS += shutdown.o
-DIRECT_BOOT_OBJECTS += forceattn_p8.o
+DIRECT_BOOT_OBJECTS += forceattn_p9.o
DIRECT_BOOT_OBJECTS += terminate.o
DIRECT_BOOT_OBJECTS += ipc.o
DIRECT_BOOT_OBJECTS += machchk.o
OpenPOWER on IntegriCloud