diff options
author | rarbab <arbab@panix.com> | 2023-01-03 19:55:46 +0000 |
---|---|---|
committer | rarbab <arbab@panix.com> | 2023-01-03 19:55:46 +0000 |
commit | 885075ae971da4c2b08d3b2d10c0394e30306999 (patch) | |
tree | b1f6bd40d117977eafc510a44e8e797d03142c0c /doc/opal-api/opal-mpipl-173-174.html | |
parent | 3a5ee36fd7480e89800dd6a0cf6efa294e6aa957 (diff) | |
download | skiboot-885075ae971da4c2b08d3b2d10c0394e30306999.zip skiboot-885075ae971da4c2b08d3b2d10c0394e30306999.tar.gz skiboot-885075ae971da4c2b08d3b2d10c0394e30306999.tar.bz2 |
Deploying to gh-pages from @ open-power/skiboot@e6cda1703f6f816ee4ceef1b5389d1a8585cabff π
Diffstat (limited to 'doc/opal-api/opal-mpipl-173-174.html')
-rw-r--r-- | doc/opal-api/opal-mpipl-173-174.html | 226 |
1 files changed, 113 insertions, 113 deletions
diff --git a/doc/opal-api/opal-mpipl-173-174.html b/doc/opal-api/opal-mpipl-173-174.html index 2ff11f7..e295d13 100644 --- a/doc/opal-api/opal-mpipl-173-174.html +++ b/doc/opal-api/opal-mpipl-173-174.html @@ -1,21 +1,20 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml"> +<html> <head> - <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>OPAL MPIPL APIs — skiboot d6d8386 + <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 MPIPL APIs — skiboot e6cda17 documentation</title> - <link rel="stylesheet" href="../_static/classic.css" type="text/css" /> - <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> + <link rel="stylesheet" type="text/css" href="../_static/pygments.css" /> + <link rel="stylesheet" type="text/css" href="../_static/classic.css" /> - <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script> - <script type="text/javascript" src="../_static/jquery.js"></script> - <script type="text/javascript" src="../_static/underscore.js"></script> - <script type="text/javascript" src="../_static/doctools.js"></script> - <script type="text/javascript" src="../_static/language_data.js"></script> + <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" /> @@ -34,9 +33,10 @@ <li class="right" > <a href="opal-messages.html" title="OPAL_MESSAGE" accesskey="P">previous</a> |</li> - <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386 + <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17 documentation</a> »</li> - <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> »</li> + <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">OPAL API Documentation</a> »</li> + <li class="nav-item nav-item-this"><a href="">OPAL MPIPL APIs</a></li> </ul> </div> @@ -45,7 +45,7 @@ <div class="bodywrapper"> <div class="body" role="main"> - <div class="section" id="opal-mpipl-apis"> + <section id="opal-mpipl-apis"> <span id="opal-api-mpipl"></span><h1>OPAL MPIPL APIs<a class="headerlink" href="#opal-mpipl-apis" title="Permalink to this headline">ΒΆ</a></h1> <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_MPIPL_UPDATE 173</span> <span class="cp">#define OPAL_MPIPL_REGISTER_TAG 174</span> @@ -55,140 +55,141 @@ <p>These calls are used for MPIPL (Memory Preserving Initial Program Load).</p> <p>It is an OPTIONAL part of the OPAL spec.</p> <p>If a platform supports MPIPL, then we will have β/ibm,opal/dumpβ node in -device tree (see <a class="reference internal" href="../device-tree/ibm,opal/dump.html#device-tree-ibm-opal-dump"><span class="std std-ref">Dump (MPIPL) Device Tree Binding</span></a>).</p> -</div> -<div class="section" id="opal-mpipl-update"> +device tree (see <a class="reference internal" href="../device-tree/ibm%2Copal/dump.html#device-tree-ibm-opal-dump"><span class="std std-ref">Dump (MPIPL) Device Tree Binding</span></a>).</p> +</section> +<section id="opal-mpipl-update"> <span id="id1"></span><h1>OPAL_MPIPL_UPDATE<a class="headerlink" href="#opal-mpipl-update" title="Permalink to this headline">ΒΆ</a></h1> <p>Linux kernel will use this call to register/unregister MPIPL.</p> <div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#define OPAL_MPIPL_UPDATE 173</span> -<span class="kt">int64_t</span> <span class="nf">opal_mpipl_update</span><span class="p">(</span><span class="k">enum</span> <span class="n">mpipl_ops</span> <span class="n">ops</span><span class="p">,</span> <span class="n">u64</span> <span class="n">src</span><span class="p">,</span> <span class="n">u64</span> <span class="n">dest</span><span class="p">,</span> <span class="n">u64</span> <span class="n">size</span><span class="p">)</span> +<span class="kt">int64_t</span><span class="w"> </span><span class="nf">opal_mpipl_update</span><span class="p">(</span><span class="k">enum</span><span class="w"> </span><span class="n">mpipl_ops</span><span class="w"> </span><span class="n">ops</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="n">src</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="n">dest</span><span class="p">,</span><span class="w"> </span><span class="n">u64</span><span class="w"> </span><span class="n">size</span><span class="p">)</span><span class="w"></span> -<span class="cm">/* MPIPL update operations */</span> -<span class="k">enum</span> <span class="n">mpipl_ops</span> <span class="p">{</span> - <span class="n">OPAL_MPIPL_ADD_RANGE</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> - <span class="n">OPAL_MPIPL_REMOVE_RANGE</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> - <span class="n">OPAL_MPIPL_REMOVE_ALL</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span> - <span class="n">OPAL_MPIPL_FREE_PRESERVED_MEMORY</span><span class="o">=</span> <span class="mi">3</span><span class="p">,</span> -<span class="p">};</span> +<span class="cm">/* MPIPL update operations */</span><span class="w"></span> +<span class="k">enum</span><span class="w"> </span><span class="n">mpipl_ops</span><span class="w"> </span><span class="p">{</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_ADD_RANGE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_REMOVE_RANGE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_REMOVE_ALL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_FREE_PRESERVED_MEMORY</span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span> +<span class="p">};</span><span class="w"></span> </pre></div> </div> -<div class="section" id="ops"> +<section id="ops"> <h2>ops :<a class="headerlink" href="#ops" title="Permalink to this headline">ΒΆ</a></h2> <blockquote> -<div><dl class="docutils"> -<dt>OPAL_MPIPL_ADD_RANGE</dt> -<dd>Add new entry to MPIPL table. Kernel will send src, dest and size. +<div><dl class="simple"> +<dt>OPAL_MPIPL_ADD_RANGE</dt><dd><p>Add new entry to MPIPL table. Kernel will send src, dest and size. During MPIPL content from source address is moved to destination address. src = Source start address dest = Destination start address -size = size</dd> -<dt>OPAL_MPIPL_REMOVE_RANGE</dt> -<dd>Remove kernel requested entry from MPIPL table. +size = size</p> +</dd> +<dt>OPAL_MPIPL_REMOVE_RANGE</dt><dd><p>Remove kernel requested entry from MPIPL table. src = Source start address dest = Destination start address -size = ignore</dd> -<dt>OPAL_MPIPL_REMOVE_ALL</dt> -<dd>Remove all kernel passed entry from MPIPL table. +size = ignore</p> +</dd> +<dt>OPAL_MPIPL_REMOVE_ALL</dt><dd><p>Remove all kernel passed entry from MPIPL table. src = ignore dest = ignore -size = ignore</dd> -<dt>OPAL_MPIPL_FREE_PRESERVED_MEMORY</dt> -<dd>Post MPIPL, kernel will indicate OPAL that it has processed dump and +size = ignore</p> +</dd> +<dt>OPAL_MPIPL_FREE_PRESERVED_MEMORY</dt><dd><p>Post MPIPL, kernel will indicate OPAL that it has processed dump and it can clear/release metadata area. src = ignore dest = ignore -size = ignore</dd> +size = ignore</p> +</dd> </dl> </div></blockquote> -</div> -<div class="section" id="return-values"> +</section> +<section id="return-values"> <h2>Return Values<a class="headerlink" href="#return-values" title="Permalink to this headline">ΒΆ</a></h2> -<dl class="docutils"> -<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt> -<dd>Operation success</dd> -<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt> -<dd>Invalid parameter</dd> -<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt> -<dd>Ran out of space in MDST/MDDT table to add new entry</dd> -<dt><code class="docutils literal notranslate"><span class="pre">OPAL_HARDWARE</span></code></dt> -<dd>Platform does not support fadump</dd> +<dl class="simple"> +<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>Operation success</p> +</dd> +<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p>Invalid parameter</p> +</dd> +<dt><code class="docutils literal notranslate"><span class="pre">OPAL_RESOURCE</span></code></dt><dd><p>Ran out of space in MDST/MDDT table to add new entry</p> +</dd> +<dt><code class="docutils literal notranslate"><span class="pre">OPAL_HARDWARE</span></code></dt><dd><p>Platform does not support fadump</p> +</dd> </dl> -</div> -</div> -<div class="section" id="opal-mpipl-register-tag"> +</section> +</section> +<section id="opal-mpipl-register-tag"> <span id="id2"></span><h1>OPAL_MPIPL_REGISTER_TAG<a class="headerlink" href="#opal-mpipl-register-tag" title="Permalink to this headline">ΒΆ</a></h1> <p>Kernel will use this API to register tags during MPIPL registration. It expects OPAL to preserve these tags across MPIPL. Post MPIPL Linux kernel will use <cite>opal_mpipl_query_tag</cite> call to retrieve these tags.</p> -<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="n">opal_mpipl_register_tag</span><span class="p">(</span><span class="k">enum</span> <span class="n">opal_mpipl_tags</span> <span class="n">tag</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="n">tag_val</span><span class="p">)</span> +<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="n">opal_mpipl_register_tag</span><span class="p">(</span><span class="k">enum</span><span class="w"> </span><span class="n">opal_mpipl_tags</span><span class="w"> </span><span class="n">tag</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="n">tag_val</span><span class="p">)</span><span class="w"></span> -<span class="nl">tag</span><span class="p">:</span> - <span class="n">OPAL_MPIPL_TAG_KERNEL</span> - <span class="n">During</span> <span class="n">first</span> <span class="n">boot</span><span class="p">,</span> <span class="n">kernel</span> <span class="n">will</span> <span class="n">setup</span> <span class="n">its</span> <span class="n">metadata</span> <span class="n">area</span> <span class="n">and</span> <span class="n">asks</span> - <span class="n">OPAL</span> <span class="n">to</span> <span class="n">preserve</span> <span class="n">metadata</span> <span class="n">area</span> <span class="n">pointer</span> <span class="n">across</span> <span class="n">MPIPL</span><span class="p">.</span> <span class="n">Post</span> <span class="n">MPIPL</span> - <span class="n">kernel</span> <span class="n">requests</span> <span class="n">OPAL</span> <span class="n">to</span> <span class="n">provide</span> <span class="n">metadata</span> <span class="n">pointer</span> <span class="n">and</span> <span class="n">it</span> <span class="n">will</span> <span class="n">use</span> - <span class="n">that</span> <span class="n">pointer</span> <span class="n">to</span> <span class="n">retrieve</span> <span class="n">metadata</span> <span class="n">and</span> <span class="n">create</span> <span class="n">dump</span><span class="p">.</span> +<span class="nl">tag</span><span class="p">:</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_KERNEL</span><span class="w"></span> +<span class="w"> </span><span class="n">During</span><span class="w"> </span><span class="n">first</span><span class="w"> </span><span class="n">boot</span><span class="p">,</span><span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">setup</span><span class="w"> </span><span class="n">its</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">asks</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">preserve</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">across</span><span class="w"> </span><span class="n">MPIPL</span><span class="p">.</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"></span> +<span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">requests</span><span class="w"> </span><span class="n">OPAL</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">provide</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">it</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">use</span><span class="w"></span> +<span class="w"> </span><span class="n">that</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">retrieve</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">create</span><span class="w"> </span><span class="n">dump</span><span class="p">.</span><span class="w"></span> - <span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span> - <span class="n">During</span> <span class="n">MPIPL</span> <span class="n">registration</span> <span class="n">kernel</span> <span class="n">will</span> <span class="n">specify</span> <span class="n">how</span> <span class="n">much</span> <span class="n">memory</span> - <span class="n">firmware</span> <span class="n">can</span> <span class="n">use</span> <span class="k">for</span> <span class="n">Post</span> <span class="n">MPIPL</span> <span class="n">load</span><span class="p">.</span> <span class="n">Post</span> <span class="n">MPIPL</span> <span class="n">petitboot</span> <span class="n">kernel</span> - <span class="n">will</span> <span class="n">query</span> <span class="k">for</span> <span class="n">this</span> <span class="n">tag</span> <span class="n">to</span> <span class="n">get</span> <span class="n">boot</span> <span class="n">memory</span> <span class="n">size</span><span class="p">.</span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span><span class="w"></span> +<span class="w"> </span><span class="n">During</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">registration</span><span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">specify</span><span class="w"> </span><span class="n">how</span><span class="w"> </span><span class="n">much</span><span class="w"> </span><span class="n">memory</span><span class="w"></span> +<span class="w"> </span><span class="n">firmware</span><span class="w"> </span><span class="n">can</span><span class="w"> </span><span class="n">use</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">load</span><span class="p">.</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">petitboot</span><span class="w"> </span><span class="n">kernel</span><span class="w"></span> +<span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">tag</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">get</span><span class="w"> </span><span class="n">boot</span><span class="w"> </span><span class="n">memory</span><span class="w"> </span><span class="n">size</span><span class="p">.</span><span class="w"></span> </pre></div> </div> -<div class="section" id="id3"> +<section id="id3"> <h2>Return Values<a class="headerlink" href="#id3" title="Permalink to this headline">ΒΆ</a></h2> -<dl class="docutils"> -<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt> -<dd>Operation success</dd> -<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt> -<dd>Invalid parameter</dd> +<dl class="simple"> +<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>Operation success</p> +</dd> +<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p>Invalid parameter</p> +</dd> </dl> -</div> -</div> -<div class="section" id="opal-mpipl-query-tag"> +</section> +</section> +<section id="opal-mpipl-query-tag"> <span id="id4"></span><h1>OPAL_MPIPL_QUERY_TAG<a class="headerlink" href="#opal-mpipl-query-tag" title="Permalink to this headline">ΒΆ</a></h1> <p>Post MPIPL linux kernel will call this API to get metadata tag. And use this tag to retrieve metadata information and generate dump.</p> -<div class="highlight-c notranslate"><div class="highlight"><pre><span></span> <span class="cp">#define OPAL_MPIPL_QUERY_TAG 175</span> +<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="w"> </span><span class="cp">#define OPAL_MPIPL_QUERY_TAG 175</span> - <span class="kt">uint64_t</span> <span class="nf">opal_mpipl_query_tag</span><span class="p">(</span><span class="k">enum</span> <span class="n">opal_mpipl_tags</span> <span class="n">tag</span><span class="p">,</span> <span class="kt">uint64_t</span> <span class="o">*</span><span class="n">tag_val</span><span class="p">)</span> +<span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="nf">opal_mpipl_query_tag</span><span class="p">(</span><span class="k">enum</span><span class="w"> </span><span class="n">opal_mpipl_tags</span><span class="w"> </span><span class="n">tag</span><span class="p">,</span><span class="w"> </span><span class="kt">uint64_t</span><span class="w"> </span><span class="o">*</span><span class="n">tag_val</span><span class="p">)</span><span class="w"></span> - <span class="k">enum</span> <span class="n">opal_mpipl_tags</span> <span class="p">{</span> - <span class="n">OPAL_MPIPL_TAG_CPU</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> - <span class="n">OPAL_MPIPL_TAG_OPAL</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> - <span class="n">OPAL_MPIPL_TAG_KERNEL</span> <span class="o">=</span> <span class="mi">2</span><span class="p">,</span> - <span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span> <span class="o">=</span> <span class="mi">3</span><span class="p">,</span> - <span class="p">};</span> +<span class="w"> </span><span class="k">enum</span><span class="w"> </span><span class="n">opal_mpipl_tags</span><span class="w"> </span><span class="p">{</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_CPU</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_OPAL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_KERNEL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"></span> +<span class="w"> </span><span class="p">};</span><span class="w"></span> -<span class="nl">tag</span> <span class="p">:</span> - <span class="n">OPAL_MPIPL_TAG_CPU</span> - <span class="n">Pointer</span> <span class="n">to</span> <span class="n">CPU</span> <span class="k">register</span> <span class="n">data</span> <span class="n">content</span> <span class="n">metadata</span> <span class="n">area</span> - <span class="n">OPAL_MPIPL_TAG_OPAL</span> - <span class="n">Pointer</span> <span class="n">to</span> <span class="n">OPAL</span> <span class="n">metadata</span> <span class="n">area</span> - <span class="n">OPAL_MPIPL_TAG_KERNEL</span> - <span class="n">During</span> <span class="n">first</span> <span class="n">boot</span><span class="p">,</span> <span class="n">kernel</span> <span class="n">will</span> <span class="n">setup</span> <span class="n">its</span> <span class="n">metadata</span> <span class="n">area</span> <span class="n">and</span> <span class="n">asks</span> - <span class="n">OPAL</span> <span class="n">to</span> <span class="n">preserve</span> <span class="n">metadata</span> <span class="n">area</span> <span class="n">pointer</span> <span class="n">across</span> <span class="n">MPIPL</span><span class="p">.</span> <span class="n">Post</span> <span class="n">MPIPL</span> - <span class="n">kernel</span> <span class="n">calls</span> <span class="n">this</span> <span class="n">API</span> <span class="n">to</span> <span class="n">get</span> <span class="n">metadata</span> <span class="n">pointer</span> <span class="n">and</span> <span class="n">it</span> <span class="n">will</span> <span class="n">use</span> - <span class="n">that</span> <span class="n">pointer</span> <span class="n">to</span> <span class="n">retrieve</span> <span class="n">metadata</span> <span class="n">and</span> <span class="n">create</span> <span class="n">dump</span><span class="p">.</span> - <span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span> - <span class="n">During</span> <span class="n">MPIPL</span> <span class="n">registration</span> <span class="n">kernel</span> <span class="n">will</span> <span class="n">specify</span> <span class="n">how</span> <span class="n">much</span> <span class="n">memory</span> - <span class="n">firmware</span> <span class="n">can</span> <span class="n">use</span> <span class="k">for</span> <span class="n">Post</span> <span class="n">MPIPL</span> <span class="n">load</span><span class="p">.</span> <span class="n">Post</span> <span class="n">MPIPL</span> <span class="n">petitboot</span> <span class="n">kernel</span> - <span class="n">will</span> <span class="n">query</span> <span class="k">for</span> <span class="n">this</span> <span class="n">tag</span> <span class="n">to</span> <span class="n">get</span> <span class="n">boot</span> <span class="n">memory</span> <span class="n">size</span><span class="p">.</span> +<span class="nl">tag</span><span class="w"> </span><span class="p">:</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_CPU</span><span class="w"></span> +<span class="w"> </span><span class="n">Pointer</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">CPU</span><span class="w"> </span><span class="k">register</span><span class="w"> </span><span class="n">data</span><span class="w"> </span><span class="n">content</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_OPAL</span><span class="w"></span> +<span class="w"> </span><span class="n">Pointer</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">OPAL</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_KERNEL</span><span class="w"></span> +<span class="w"> </span><span class="n">During</span><span class="w"> </span><span class="n">first</span><span class="w"> </span><span class="n">boot</span><span class="p">,</span><span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">setup</span><span class="w"> </span><span class="n">its</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">asks</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">preserve</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">area</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">across</span><span class="w"> </span><span class="n">MPIPL</span><span class="p">.</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"></span> +<span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">calls</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">API</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">get</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">it</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">use</span><span class="w"></span> +<span class="w"> </span><span class="n">that</span><span class="w"> </span><span class="n">pointer</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">retrieve</span><span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">and</span><span class="w"> </span><span class="n">create</span><span class="w"> </span><span class="n">dump</span><span class="p">.</span><span class="w"></span> +<span class="w"> </span><span class="n">OPAL_MPIPL_TAG_BOOT_MEM</span><span class="w"></span> +<span class="w"> </span><span class="n">During</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">registration</span><span class="w"> </span><span class="n">kernel</span><span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">specify</span><span class="w"> </span><span class="n">how</span><span class="w"> </span><span class="n">much</span><span class="w"> </span><span class="n">memory</span><span class="w"></span> +<span class="w"> </span><span class="n">firmware</span><span class="w"> </span><span class="n">can</span><span class="w"> </span><span class="n">use</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">load</span><span class="p">.</span><span class="w"> </span><span class="n">Post</span><span class="w"> </span><span class="n">MPIPL</span><span class="w"> </span><span class="n">petitboot</span><span class="w"> </span><span class="n">kernel</span><span class="w"></span> +<span class="w"> </span><span class="n">will</span><span class="w"> </span><span class="n">query</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">this</span><span class="w"> </span><span class="n">tag</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">get</span><span class="w"> </span><span class="n">boot</span><span class="w"> </span><span class="n">memory</span><span class="w"> </span><span class="n">size</span><span class="p">.</span><span class="w"></span> </pre></div> </div> -<div class="section" id="id5"> +<section id="id5"> <h2>Return Values<a class="headerlink" href="#id5" title="Permalink to this headline">ΒΆ</a></h2> -<dl class="docutils"> -<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt> -<dd>Operation success</dd> -<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt> -<dd>Invalid parameter</dd> +<dl class="simple"> +<dt><code class="docutils literal notranslate"><span class="pre">OPAL_SUCCESS</span></code></dt><dd><p>Operation success</p> +</dd> +<dt><code class="docutils literal notranslate"><span class="pre">OPAL_PARAMETER</span></code></dt><dd><p>Invalid parameter</p> +</dd> </dl> -</div> -</div> +</section> +</section> + <div class="clearer"></div> </div> </div> </div> @@ -226,17 +227,15 @@ tag to retrieve metadata information and generate dump.</p> </ul> </div> <div id="searchbox" style="display: none" role="search"> - <h3>Quick search</h3> + <h3 id="searchlabel">Quick search</h3> <div class="searchformwrapper"> <form class="search" action="../search.html" method="get"> - <input type="text" name="q" /> + <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> <input type="submit" value="Go" /> - <input type="hidden" name="check_keywords" value="yes" /> - <input type="hidden" name="area" value="default" /> </form> </div> </div> -<script type="text/javascript">$('#searchbox').show(0);</script> +<script>$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> @@ -253,14 +252,15 @@ tag to retrieve metadata information and generate dump.</p> <li class="right" > <a href="opal-messages.html" title="OPAL_MESSAGE" >previous</a> |</li> - <li class="nav-item nav-item-0"><a href="../index.html">skiboot d6d8386 + <li class="nav-item nav-item-0"><a href="../index.html">skiboot e6cda17 documentation</a> »</li> - <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> »</li> + <li class="nav-item nav-item-1"><a href="index.html" >OPAL API Documentation</a> »</li> + <li class="nav-item nav-item-this"><a href="">OPAL MPIPL APIs</a></li> </ul> </div> <div class="footer" role="contentinfo"> © Copyright 2016-2017, IBM, others. - Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5. + Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.3.2. </div> </body> </html>
\ No newline at end of file |