From 5e09fe1f19d3f56b1cebb44439da5b5de6e1fccd Mon Sep 17 00:00:00 2001 From: Nicholas Piggin Date: Wed, 20 Sep 2017 16:56:03 +1000 Subject: core: POWER9 implement OPAL_SIGNAL_SYSTEM_RESET This implements OPAL_SIGNAL_SYSTEM_RESET, using scom registers to quiesce the target thread and raise a system reset exception on it. It has been tested on DD2 with stop0 ESL=0 and ESL=1 shallow power saving modes. DD1 is not implemented because it is sufficiently different as to make support difficult. Signed-off-by: Nicholas Piggin [stewart@linux.vnet.ibm.com: fixup hdat_to_dt test] Signed-off-by: Stewart Smith --- core/init.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'core/init.c') diff --git a/core/init.c b/core/init.c index 8951e17..ab260d4 100644 --- a/core/init.c +++ b/core/init.c @@ -881,6 +881,12 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt) mfsi_init(); /* + * Direct controls facilities provides some controls over CPUs + * using scoms. + */ + direct_controls_init(); + + /* * Put various bits & pieces in device-tree that might not * already be there such as the /chosen node if not there yet, * the ICS node, etc... This can potentially use XSCOM -- cgit v1.1