[Skiboot] [PATCH v3] core: POWER9 implement OPAL_SIGNAL_SYSTEM_RESET

Nicholas Piggin npiggin at gmail.com
Mon Sep 18 21:05:56 AEST 2017


On Mon, 18 Sep 2017 20:47:48 +1000
Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:

> On Mon, 2017-09-18 at 17:45 +1000, Nicholas Piggin wrote:
> > This implements OPAL_SIGNAL_SYSTEM_RESET, using scom registers to
> > quiesce the target thread and raise a system reset exception on it.
> > 
> > This has been tested on DD1 and DD2 including ESL=0 and ESL=1 power
> > saving modes.
> > 
> > It will have to be tested with deep idle states when those are enabled.
> > If those cannot be supported, it should be possible to work around in
> > Linux.
> > 
> > Signed-off-by: Nicholas Piggin <npiggin at gmail.com>  
> 
> The special wakeup stuff should have its own separate "module" that
> refcounts how many requests are in flight. Vaidy has some DTS sensor
> stuff for Google that uses it too afaik.

Yes, there's a few places it gets set. I think for P9 so far we
only had some other special wakeup requests for idle init. I hadn't
seen Vaidy's patches yet. But you're right it will need to be
factored out if it gets wider use. Do you want me to do that here?

I don't know if core/ is exactly the best place for these scoms
either, but I followed fast-reboot to start with. Should we put them
into hw/?

> 
> As for P8, there are serious issues with broken SRR1 bits iirc...

Yeah this doesn't enable P8 sreset, which is more difficult. Alistair
did something that uses instruction ramming to set up the interrupt
manually. That's pretty tricky and also needs Linux to bounce the
interrupt back to our sibling threads. So we figure the P9 stuff should
go in first.

Thanks,
Nick


More information about the Skiboot mailing list