[Skiboot] [PATCH v2 1/7] Make trigger_attn() enable attn also
Michael Neuling
mikey at neuling.org
Mon May 2 15:26:15 AEST 2016
This changes trigger_attn() to also enable attn via HID0, so callers
don't have to do it themselves.
Signed-off-by: Michael Neuling <mikey at neuling.org>
---
asm/misc.S | 4 ++--
core/cpu.c | 16 ++++++++++++++++
hw/fsp/fsp-attn.c | 5 -----
3 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/asm/misc.S b/asm/misc.S
index c8abdb9..146b9c3 100644
--- a/asm/misc.S
+++ b/asm/misc.S
@@ -36,8 +36,8 @@ set_hid0:
isync
blr
-.global trigger_attn
-trigger_attn:
+.global __trigger_attn
+__trigger_attn:
sync
isync
attn
diff --git a/core/cpu.c b/core/cpu.c
index d347903..d113d77 100644
--- a/core/cpu.c
+++ b/core/cpu.c
@@ -399,6 +399,22 @@ static void init_cpu_thread(struct cpu_thread *t,
assert(pir == container_of(t, struct cpu_stack, cpu) - cpu_stacks);
}
+static void enable_attn(void)
+{
+ unsigned long hid0;
+
+ hid0 = mfspr(SPR_HID0);
+ hid0 |= SPR_HID0_ENABLE_ATTN;
+ set_hid0(hid0);
+}
+
+extern void __trigger_attn(void);
+void trigger_attn(void)
+{
+ enable_attn();
+ __trigger_attn();
+}
+
void pre_init_boot_cpu(void)
{
struct cpu_thread *cpu = this_cpu();
diff --git a/hw/fsp/fsp-attn.c b/hw/fsp/fsp-attn.c
index 7b56192..ff702ab 100644
--- a/hw/fsp/fsp-attn.c
+++ b/hw/fsp/fsp-attn.c
@@ -118,8 +118,6 @@ static void update_sp_attn_area(const char *msg)
void __attribute__((noreturn)) ibm_fsp_terminate(const char *msg)
{
- unsigned long hid0;
-
/* Update SP attention area */
update_sp_attn_area(msg);
@@ -133,9 +131,6 @@ void __attribute__((noreturn)) ibm_fsp_terminate(const char *msg)
* reboot loop.
*/
- hid0 = mfspr(SPR_HID0);
- hid0 |= SPR_HID0_ENABLE_ATTN;
- set_hid0(hid0);
trigger_attn();
for (;;) ;
}
--
2.7.4
More information about the Skiboot
mailing list