aboutsummaryrefslogtreecommitdiff
path: root/hw/xive.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-11-29 15:37:07 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-12-03 22:10:56 -0600
commitacf2c345a98d47c85a5d836a9cca0257c3adc890 (patch)
treecffcc3e2e8a0af0701cb3a032b012ab5ef55eefd /hw/xive.c
parentd0e44ad2a9633c9d49504f4a0c69ac730cdc0561 (diff)
downloadskiboot-acf2c345a98d47c85a5d836a9cca0257c3adc890.zip
skiboot-acf2c345a98d47c85a5d836a9cca0257c3adc890.tar.gz
skiboot-acf2c345a98d47c85a5d836a9cca0257c3adc890.tar.bz2
direct-controls: enable fast reboot direct controls for mambo
Add mambo direct controls to stop threads, which is required for reliable fast-reboot. Enable direct controls by default on mambo. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/xive.c')
-rw-r--r--hw/xive.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/xive.c b/hw/xive.c
index c7d6e62..c0ee2ab 100644
--- a/hw/xive.c
+++ b/hw/xive.c
@@ -239,7 +239,8 @@
static enum {
XIVE_MODE_EMU = OPAL_XIVE_MODE_EMU,
XIVE_MODE_EXPL = OPAL_XIVE_MODE_EXPL,
-} xive_mode;
+ XIVE_MODE_NONE,
+} xive_mode = XIVE_MODE_NONE;
/* Each source controller has one of these. There's one embedded
@@ -4660,6 +4661,8 @@ static int64_t __xive_reset(uint64_t version)
/* Called by fast reboot */
int64_t xive_reset(void)
{
+ if (xive_mode == XIVE_MODE_NONE)
+ return OPAL_SUCCESS;
return __xive_reset(XIVE_MODE_EMU);
}
@@ -5201,6 +5204,8 @@ void init_xive(void)
if (first)
return;
+ xive_mode = XIVE_MODE_EMU;
+
/* Init VP allocator */
xive_init_vp_allocator();