aboutsummaryrefslogtreecommitdiff
path: root/doc/opal-api/opal-slw-set-reg-100.html
blob: 8ead5c976fcc5c8ede8d75a2b6eb4629c48a5c72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155

<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />

    <title>OPAL_SLW_SET_REG &#8212; skiboot 09fb954
 documentation</title>
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/classic.css" />
    
    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
    <script src="../_static/jquery.js"></script>
    <script src="../_static/underscore.js"></script>
    <script src="../_static/doctools.js"></script>
    
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Starting and stopping secondary CPUs" href="opal-start-return-cpu-41-69.html" />
    <link rel="prev" title="OPAL_SIGNAL_SYSTEM_RESET" href="opal-signal-system-reset-145.html" /> 
  </head><body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="opal-start-return-cpu-41-69.html" title="Starting and stopping secondary CPUs"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="opal-signal-system-reset-145.html" title="OPAL_SIGNAL_SYSTEM_RESET"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html">skiboot 09fb954
 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">OPAL_SLW_SET_REG</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <section id="opal-slw-set-reg">
<span id="id1"></span><h1>OPAL_SLW_SET_REG<a class="headerlink" href="#opal-slw-set-reg" title="Permalink to this headline"></a></h1>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_SLW_SET_REG                     100</span>

<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_slw_set_reg</span><span class="p">(</span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">cpu_pir</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">sprn</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">val</span><span class="p">);</span><span class="w"></span>
</pre></div>
</div>
<p><a class="reference internal" href="#opal-slw-set-reg"><span class="std std-ref">OPAL_SLW_SET_REG</span></a> is used to inform low-level firmware to restore a
given value of SPR when there is a state loss.  The actual set of SPRs
that are supported is platform dependent.</p>
<p>In Power 8, it uses p8_pore_gen_cpufreq_fixed(), api provided by pore engine,
to inform the spr with their corresponding values with which they
must be restored.</p>
<p>In Power 9, it uses p9_stop_save_cpureg(), api provided by self restore code,
to inform the spr with their corresponding values with which they
must be restored.</p>
<section id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline"></a></h2>
<dl class="simple">
<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">cpu_pir</span></code></dt><dd><p>This parameter specifies the pir of the cpu for which the call is being made.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">sprn</span></code></dt><dd><p>This parameter specifies the spr number as mentioned in p9_stop_api.H for
Power9 and p8_pore_table_gen_api.H for Power8.</p>
</dd>
<dt><code class="docutils literal notranslate"><span class="pre">uint64_t</span> <span class="pre">val</span></code></dt><dd><p>This parameter specifices value with which the spr should be restored.</p>
</dd>
</dl>
</section>
<section id="returns">
<h2>Returns<a class="headerlink" href="#returns" title="Permalink to this headline"></a></h2>
<dl class="simple">
<dt><a class="reference internal" href="return-codes.html#opal-internal-error"><span class="std std-ref">OPAL_INTERNAL_ERROR</span></a></dt><dd><p>On failure. The actual error code from the platform specific code is logged in the OPAL logs</p>
</dd>
<dt><a class="reference internal" href="return-codes.html#opal-unsupported"><span class="std std-ref">OPAL_UNSUPPORTED</span></a></dt><dd><p>If spr restore is not supported by pore engine.</p>
</dd>
<dt><a class="reference internal" href="return-codes.html#opal-success"><span class="std std-ref">OPAL_SUCCESS</span></a></dt><dd><p>On success</p>
</dd>
</dl>
</section>
</section>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../index.html">Table of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">OPAL_SLW_SET_REG</a><ul>
<li><a class="reference internal" href="#parameters">Parameters</a></li>
<li><a class="reference internal" href="#returns">Returns</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="opal-signal-system-reset-145.html"
                        title="previous chapter">OPAL_SIGNAL_SYSTEM_RESET</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="opal-start-return-cpu-41-69.html"
                        title="next chapter">Starting and stopping secondary CPUs</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/opal-api/opal-slw-set-reg-100.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</div>
<script>$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="opal-start-return-cpu-41-69.html" title="Starting and stopping secondary CPUs"
             >next</a> |</li>
        <li class="right" >
          <a href="opal-signal-system-reset-145.html" title="OPAL_SIGNAL_SYSTEM_RESET"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="../index.html">skiboot 09fb954
 documentation</a> &#187;</li>
          <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href="">OPAL_SLW_SET_REG</a></li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
        &#169; Copyright 2016-2017, IBM, others.
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2.
    </div>
  </body>
</html>