[Skiboot] [PATCH] core: POWER9 implement OPAL_SIGNAL_SYSTEM_RESET

Alistair Popple alistair at popple.id.au
Thu Sep 14 13:29:22 AEST 2017


On Thu, 14 Sep 2017 12:29:05 PM Benjamin Herrenschmidt wrote:
> On Wed, 2017-09-13 at 18:50 +1000, Nicholas Piggin wrote:
> > +static int core_set_special_wakeup(struct cpu_thread *cpu)
> > +{
> > +       uint32_t chip_id = pir_to_chip_id(cpu->pir);
> > +       uint32_t core_id = pir_to_core_id(cpu->pir);
> > +       uint32_t swake_addr;
> > +       uint32_t gpmmr_addr;
> > +       uint64_t val;
> > +       int i;
> > +
> > +       swake_addr = XSCOM_ADDR_P9_EC(core_id, P9_PPM_SPWKUP_OTR);
> > +       gpmmr_addr = XSCOM_ADDR_P9_EC(core_id, P9_PPM_GPMMR);
> > +
> 
> We need a common place to handle special wakeups (with per-core use
> counts) because I bet you that's not the only place that will need it.
> 
> Talking of which ... why do we need it anyway ? Won't the sreset wake
> up the core ?

Don't you need it to talk to the entire chiplet at all? I believe the direct
control to stop the thread will wake the thread up. For what it's worth the
original HW procedures had the special wakeup.

- Alistair

>
> Ben.
> 



More information about the Skiboot mailing list