diff --git a/core/fast-reboot.c b/core/fast-reboot.c index a6c903f3c057..6de7b068eb74 100644 --- a/core/fast-reboot.c +++ b/core/fast-reboot.c @@ -325,7 +325,7 @@ void __noreturn fast_reboot_entry(void) prlog(PR_DEBUG, "RESET: CPU 0x%04x reset in\n", this_cpu()->pir); if (proc_gen == proc_gen_p9) { - reset_cpu_xive(); + xive_cpu_reset(); } else if (proc_gen == proc_gen_p8) { /* We reset our ICP first ! Otherwise we might get stray * interrupts when unsplitting diff --git a/hw/slw.c b/hw/slw.c index ed8a5f9e6877..f1d0298b3fd1 100644 --- a/hw/slw.c +++ b/hw/slw.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include diff --git a/hw/xive.c b/hw/xive.c index ec71932cc169..5369369b9895 100644 --- a/hw/xive.c +++ b/hw/xive.c @@ -2637,7 +2637,7 @@ static int64_t xive_source_set_xive(struct irq_source *is, return __xive_set_irq_config(is, isn, server, prio, isn, true, true); } -void __xive_source_eoi(struct irq_source *is, uint32_t isn) +static void __xive_source_eoi(struct irq_source *is, uint32_t isn) { struct xive_src *s = container_of(is, struct xive_src, is); uint32_t idx = isn - s->esb_base; @@ -4819,7 +4819,7 @@ static void xive_reset_mask_source_cb(struct irq_source *is, } } -void reset_cpu_xive(void) +void xive_cpu_reset(void) { struct cpu_thread *c = this_cpu(); struct xive_cpu_state *xs = c->xstate; diff --git a/include/interrupts.h b/include/interrupts.h index d1ee5c4c112b..dfd48f2f2d59 100644 --- a/include/interrupts.h +++ b/include/interrupts.h @@ -184,7 +184,6 @@ extern uint32_t get_ics_phandle(void); struct cpu_thread; extern void reset_cpu_icp(void); -extern void reset_cpu_xive(void); extern void icp_send_eoi(uint32_t interrupt); extern void icp_prep_for_pm(void); extern void icp_kick_cpu(struct cpu_thread *cpu); diff --git a/include/skiboot.h b/include/skiboot.h index 10b43e8c37f8..e9d57decd847 100644 --- a/include/skiboot.h +++ b/include/skiboot.h @@ -300,7 +300,6 @@ enum wakeup_engine_states { extern enum wakeup_engine_states wakeup_engine_state; extern bool has_deep_states; extern void nx_p9_rng_late_init(void); -extern void xive_late_init(void); diff --git a/include/xive.h b/include/xive.h index e18fb9d783ae..224d65837f53 100644 --- a/include/xive.h +++ b/include/xive.h @@ -57,10 +57,11 @@ void xive_cpu_callin(struct cpu_thread *cpu); */ void *xive_get_trigger_port(uint32_t girq); -/* To be used by special EOI override in PSI */ +/* To be used by PSI to prevent asserted LSI to constantly re-fire */ struct irq_source; -void __xive_source_eoi(struct irq_source *is, uint32_t isn); - void xive_source_mask(struct irq_source *is, uint32_t isn); +void xive_cpu_reset(void); +void xive_late_init(void); + #endif /* XIVE_H */