mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-26 07:11:34 -08:00
693 lines
No EOL
35 KiB
HTML
693 lines
No EOL
35 KiB
HTML
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
|
<title>22. Platforms — Memory Pool System 1.111.0 documentation</title>
|
|
|
|
<link rel="stylesheet" href="../_static/mps.css" type="text/css" />
|
|
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT: '../',
|
|
VERSION: '1.111.0',
|
|
COLLAPSE_INDEX: false,
|
|
FILE_SUFFIX: '.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</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>
|
|
<link rel="copyright" title="Copyright" href="../copyright.html" />
|
|
<link rel="top" title="Memory Pool System 1.111.0 documentation" href="../index.html" />
|
|
<link rel="up" title="Reference" href="index.html" />
|
|
<link rel="next" title="Pool reference" href="../pool/index.html" />
|
|
<link rel="prev" title="21. Plinth" href="plinth.html" />
|
|
</head>
|
|
<body>
|
|
<div class="related">
|
|
<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="../pool/index.html" title="Pool reference"
|
|
accesskey="N">next</a> |</li>
|
|
<li class="right" >
|
|
<a href="plinth.html" title="21. Plinth"
|
|
accesskey="P">previous</a> |</li>
|
|
<li><a href="../index.html">Memory Pool System 1.111.0 documentation</a> »</li>
|
|
<li><a href="index.html" accesskey="U">Reference</a> »</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="document">
|
|
<div class="documentwrapper">
|
|
<div class="bodywrapper">
|
|
<div class="body">
|
|
|
|
<div class="section" id="platforms">
|
|
<span id="topic-platform"></span><h1>22. Platforms<a class="headerlink" href="#platforms" title="Permalink to this headline">¶</a></h1>
|
|
<div class="section" id="platform-codes">
|
|
<span id="index-0"></span><h2>22.1. Platform codes<a class="headerlink" href="#platform-codes" title="Permalink to this headline">¶</a></h2>
|
|
<p>The MPS uses a six-character platform code to express a combination of
|
|
operating system, CPU architecture, and compiler toolchain. Each
|
|
six-character code breaks down into three pairs of characters:
|
|
<tt class="docutils literal"><span class="pre">OSARCT</span></tt>. The first pair of characters names the operating system:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="14%" />
|
|
<col width="38%" />
|
|
<col width="48%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">OS</span></tt></th>
|
|
<th class="head">Operating system</th>
|
|
<th class="head">Constant</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">fr</span></tt></td>
|
|
<td>FreeBSD</td>
|
|
<td><a class="reference internal" href="#MPS_OS_FR" title="MPS_OS_FR"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_OS_FR</span></tt></a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">li</span></tt></td>
|
|
<td>Linux</td>
|
|
<td><a class="reference internal" href="#MPS_OS_LI" title="MPS_OS_LI"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_OS_LI</span></tt></a></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">w3</span></tt></td>
|
|
<td>Windows</td>
|
|
<td><a class="reference internal" href="#MPS_OS_W3" title="MPS_OS_W3"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_OS_W3</span></tt></a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">xc</span></tt></td>
|
|
<td>OS X</td>
|
|
<td><a class="reference internal" href="#MPS_OS_XC" title="MPS_OS_XC"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_OS_XC</span></tt></a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>The second pair of characters names the processor architecture:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="12%" />
|
|
<col width="44%" />
|
|
<col width="44%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">AR</span></tt></th>
|
|
<th class="head">Processor architecture</th>
|
|
<th class="head">Constant</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">i3</span></tt></td>
|
|
<td>Intel/AMD IA-32</td>
|
|
<td><a class="reference internal" href="#MPS_ARCH_I3" title="MPS_ARCH_I3"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_ARCH_I3</span></tt></a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">i6</span></tt></td>
|
|
<td>Intel/AMD x86-64</td>
|
|
<td><a class="reference internal" href="#MPS_ARCH_I6" title="MPS_ARCH_I6"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_ARCH_I6</span></tt></a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>The third pair of characters names the compiler toolchain:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="12%" />
|
|
<col width="44%" />
|
|
<col width="44%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">CT</span></tt></th>
|
|
<th class="head">Compiler toolchain</th>
|
|
<th class="head">Constant</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">gc</span></tt></td>
|
|
<td>GNU Compiler collection</td>
|
|
<td><a class="reference internal" href="#MPS_BUILD_GC" title="MPS_BUILD_GC"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_BUILD_GC</span></tt></a></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">ll</span></tt></td>
|
|
<td>Clang/LLVM</td>
|
|
<td><a class="reference internal" href="#MPS_BUILD_LL" title="MPS_BUILD_LL"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_BUILD_LL</span></tt></a></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">mv</span></tt></td>
|
|
<td>Microsoft Visual C/C++</td>
|
|
<td><a class="reference internal" href="#MPS_BUILD_MV" title="MPS_BUILD_MV"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_BUILD_MV</span></tt></a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>In each case the aspect of the platform can be tested by checking
|
|
whether the preprocessor constant in the third column in the table
|
|
is defined, and the full platform can be tested by checking
|
|
whether the corresponding <tt class="docutils literal"><span class="pre">MPS_PF_</span></tt> preprocessor constant is
|
|
defined. For example, “<tt class="docutils literal"><span class="pre">xci6ll</span></tt>” platform corresponds to the
|
|
<a class="reference internal" href="#MPS_PF_XCI6LL" title="MPS_PF_XCI6LL"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_PF_XCI6LL</span></tt></a> preprocessor constant.</p>
|
|
<p>Not all combinations of operating system, processor architecture,
|
|
and compiler are supported.</p>
|
|
</div>
|
|
<div class="section" id="platform-interface">
|
|
<span id="index-1"></span><h2>22.2. Platform interface<a class="headerlink" href="#platform-interface" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-c"><div class="highlight"><pre><span class="cp">#include "mpstd.h"</span>
|
|
</pre></div>
|
|
</div>
|
|
<dl class="macro">
|
|
<dt id="MPS_ARCH_I3">
|
|
<tt class="descname">MPS_ARCH_I3</tt><a class="headerlink" href="#MPS_ARCH_I3" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the target processor architecture of the compilation is a member
|
|
of the IA-32 Intel/AMD family of 32-bit processors.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_ARCH_I6">
|
|
<tt class="descname">MPS_ARCH_I6</tt><a class="headerlink" href="#MPS_ARCH_I6" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the target processor architecture of the compilation is a member
|
|
of the x86-64 Intel/AMD family of 64-bit processors.</p>
|
|
<div class="admonition-note admonition">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">The MPS is not supported on IA-64 (Itanium).</p>
|
|
</div>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_BUILD_GC">
|
|
<tt class="descname">MPS_BUILD_GC</tt><a class="headerlink" href="#MPS_BUILD_GC" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the MPS was compiled by the C compiler from the GNU Compiler
|
|
Collection (GCC).</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_BUILD_LL">
|
|
<tt class="descname">MPS_BUILD_LL</tt><a class="headerlink" href="#MPS_BUILD_LL" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the MPS was compiled by Clang, the C compiler from the LLVM (Low
|
|
Level Virtual Machine) system.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_BUILD_MV">
|
|
<tt class="descname">MPS_BUILD_MV</tt><a class="headerlink" href="#MPS_BUILD_MV" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the MPS was compiled by the C compiler from Microsoft Visual
|
|
Studio.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_OS_FR">
|
|
<tt class="descname">MPS_OS_FR</tt><a class="headerlink" href="#MPS_OS_FR" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the MPS was compiled on a FreeBSD operating system.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_OS_LI">
|
|
<tt class="descname">MPS_OS_LI</tt><a class="headerlink" href="#MPS_OS_LI" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the MPS was compiled on a Linux operating system.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_OS_W3">
|
|
<tt class="descname">MPS_OS_W3</tt><a class="headerlink" href="#MPS_OS_W3" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the MPS was compiled on a Windows operating system.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_OS_XC">
|
|
<tt class="descname">MPS_OS_XC</tt><a class="headerlink" href="#MPS_OS_XC" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the MPS was compiled on an OS X operating system.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_ALIGN">
|
|
<tt class="descname">MPS_PF_ALIGN</tt><a class="headerlink" href="#MPS_PF_ALIGN" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to an integer giving
|
|
the <a class="reference internal" href="../glossary/n.html#term-natural-alignment"><em class="xref std std-term">natural alignment</em></a> of the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a>.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_FRI3GC">
|
|
<tt class="descname">MPS_PF_FRI3GC</tt><a class="headerlink" href="#MPS_PF_FRI3GC" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the FreeBSD operating system, the
|
|
IA-32 processor architecture, and the GCC compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_FRI6GC">
|
|
<tt class="descname">MPS_PF_FRI6GC</tt><a class="headerlink" href="#MPS_PF_FRI6GC" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the FreeBSD operating system, the
|
|
x86-64 processor architecture, and the GCC compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_LII3GC">
|
|
<tt class="descname">MPS_PF_LII3GC</tt><a class="headerlink" href="#MPS_PF_LII3GC" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the Linux operating system, the
|
|
IA-32 processor architecture, and the GCC compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_LII6GC">
|
|
<tt class="descname">MPS_PF_LII6GC</tt><a class="headerlink" href="#MPS_PF_LII6GC" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the Linux operating system, the
|
|
x86-64 processor architecture, and the GCC compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_STRING">
|
|
<tt class="descname">MPS_PF_STRING</tt><a class="headerlink" href="#MPS_PF_STRING" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that names the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> for
|
|
which the MPS was built.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_W3I3MV">
|
|
<tt class="descname">MPS_PF_W3I3MV</tt><a class="headerlink" href="#MPS_PF_W3I3MV" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the Windows operating system, the
|
|
IA-32 processor architecture, and the Microsoft Visual C/C++
|
|
compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_W3I6MV">
|
|
<tt class="descname">MPS_PF_W3I6MV</tt><a class="headerlink" href="#MPS_PF_W3I6MV" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the Windows operating system, the
|
|
x86-64 processor architecture, and the Microsoft Visual C/C++
|
|
compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_XCI3GC">
|
|
<tt class="descname">MPS_PF_XCI3GC</tt><a class="headerlink" href="#MPS_PF_XCI3GC" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the OS X operating system, the
|
|
IA-32 processor architecture, and the GCC compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_XCI3LL">
|
|
<tt class="descname">MPS_PF_XCI3LL</tt><a class="headerlink" href="#MPS_PF_XCI3LL" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the OS X operating system, the
|
|
IA-32 processor architecture, and the Clang/LLVM compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_PF_XCI6LL">
|
|
<tt class="descname">MPS_PF_XCI6LL</tt><a class="headerlink" href="#MPS_PF_XCI6LL" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that indicates, if defined, that
|
|
the <a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a> consists of the OS X operating system, the
|
|
x86-64 processor architecture, and the Clang/LLVM compiler.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_T_ULONGEST">
|
|
<tt class="descname">MPS_T_ULONGEST</tt><a class="headerlink" href="#MPS_T_ULONGEST" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to the name of the
|
|
largest unsigned integral type.</p>
|
|
<p>The exact identity of this type is
|
|
<a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a>-dependent. Typical identities are <tt class="docutils literal"><span class="pre">unsigned</span>
|
|
<span class="pre">long</span></tt> and <tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">__int_64</span></tt>.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_T_WORD">
|
|
<tt class="descname">MPS_T_WORD</tt><a class="headerlink" href="#MPS_T_WORD" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to the name of an
|
|
unsigned integral type that is the same size as an <a class="reference internal" href="../glossary/o.html#term-object-pointer"><em class="xref std std-term">object
|
|
pointer</em></a>, so that <tt class="docutils literal"><span class="pre">sizeof(MPS_T_WORD)</span> <span class="pre">==</span> <span class="pre">sizeof(void*)</span></tt>.</p>
|
|
<p>The exact identity of this type is
|
|
<a class="reference internal" href="../glossary/p.html#term-platform"><em class="xref std std-term">platform</em></a>-dependent. Typical identities are <tt class="docutils literal"><span class="pre">unsigned</span>
|
|
<span class="pre">long</span></tt> and <tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">__int_64</span></tt>.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_WORD_SHIFT">
|
|
<tt class="descname">MPS_WORD_SHIFT</tt><a class="headerlink" href="#MPS_WORD_SHIFT" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to the logarithm to
|
|
base 2 of the constant <a class="reference internal" href="#MPS_WORD_WIDTH" title="MPS_WORD_WIDTH"><tt class="xref c c-macro docutils literal"><span class="pre">MPS_WORD_WIDTH</span></tt></a>, so that <tt class="docutils literal"><span class="pre">1</span> <span class="pre"><<</span>
|
|
<span class="pre">MPS_WORD_SHIFT</span> <span class="pre">==</span> <span class="pre">MPS_WORD_WIDTH</span></tt>.</p>
|
|
<p>The value is platform-dependent. Typical values are 5 and 6.</p>
|
|
</dd></dl>
|
|
|
|
<dl class="macro">
|
|
<dt id="MPS_WORD_WIDTH">
|
|
<tt class="descname">MPS_WORD_WIDTH</tt><a class="headerlink" href="#MPS_WORD_WIDTH" title="Permalink to this definition">¶</a></dt>
|
|
<dd><p>A <a class="reference internal" href="../mmref/lang.html#term-c"><em class="xref std std-term">C</em></a> preprocessor macro that expands to the width in bits
|
|
of the type <a class="reference internal" href="#MPS_T_WORD" title="MPS_T_WORD"><tt class="xref c c-type docutils literal"><span class="pre">MPS_T_WORD</span></tt></a>, so that <tt class="docutils literal"><span class="pre">MPS_WORD_WIDTH</span> <span class="pre">==</span>
|
|
<span class="pre">sizeof(MPS_T_WORD)</span> <span class="pre">*</span> <span class="pre">CHAR_BIT</span></tt>.</p>
|
|
<p>This value is platform-dependent. It is always a power of 2:
|
|
typical values are 32 and 64.</p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
<div class="section" id="historical-platform-codes">
|
|
<span id="index-2"></span><h2>22.3. Historical platform codes<a class="headerlink" href="#historical-platform-codes" title="Permalink to this headline">¶</a></h2>
|
|
<p>The platform codes in the tables below were in use in older versions
|
|
of the Memory Pool System, but are not currently supported.</p>
|
|
<p>Formerly supported operating systems:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="13%" />
|
|
<col width="59%" />
|
|
<col width="28%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">OS</span></tt></th>
|
|
<th class="head">Operating system</th>
|
|
<th class="head">Constant</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">i5</span></tt></td>
|
|
<td>Irix 5 or 6 (old ABI)</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_OS_I5</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">ia</span></tt></td>
|
|
<td>Irix 6 (new ABI)</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_OS_IA</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">o1</span></tt></td>
|
|
<td>OSF/1 aka Tru64</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_OS_O1</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">s7</span></tt></td>
|
|
<td>Macintosh System 7, 8, or 9</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_OS_S7</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">so</span></tt></td>
|
|
<td>Solaris</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_OS_SO</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">su</span></tt></td>
|
|
<td>SunOS</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_OS_SU</span></tt></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Formerly supported processor architectures:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="14%" />
|
|
<col width="51%" />
|
|
<col width="35%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">AR</span></tt></th>
|
|
<th class="head">Processor architecture</th>
|
|
<th class="head">Constant</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">i4</span></tt></td>
|
|
<td>Intel/AMD IA-32 <a class="footnote-reference" href="#id3" id="id1">[1]</a></td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_I4</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">al</span></tt></td>
|
|
<td>Digital Alpha</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_AL</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">m2</span></tt></td>
|
|
<td>MIPS R2000</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_M2</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">m4</span></tt></td>
|
|
<td>MIPS R4000</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_M4</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">m6</span></tt></td>
|
|
<td>Motorola 68000</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_M6</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">pp</span></tt></td>
|
|
<td>PowerPC</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_PP</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">s8</span></tt></td>
|
|
<td>SPARC V8</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_S8</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">s9</span></tt></td>
|
|
<td>SPARC V9 (32-bit)</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_ARCH_S9</span></tt></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p>Formerly supported compiler toolchains:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="10%" />
|
|
<col width="64%" />
|
|
<col width="26%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head"><tt class="docutils literal"><span class="pre">CT</span></tt></th>
|
|
<th class="head">Compiler toolchain</th>
|
|
<th class="head">Constant</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">ac</span></tt></td>
|
|
<td>Macintosh Programmer’s Workshop C/C++</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_AC</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">cc</span></tt></td>
|
|
<td>The “native” C compiler <a class="footnote-reference" href="#id4" id="id2">[2]</a></td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_CC</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">cx</span></tt></td>
|
|
<td>SunPro C CXREF tool</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_CX</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">eg</span></tt></td>
|
|
<td>Experimental GNU Compiler System (EGCS)</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_EG</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">gp</span></tt></td>
|
|
<td>GCC with profiling</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_GP</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">lc</span></tt></td>
|
|
<td>LCC</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_LC</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">mw</span></tt></td>
|
|
<td>Metrowerks CodeWarrior</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_MW</span></tt></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">sc</span></tt></td>
|
|
<td>SunPro C</td>
|
|
<td><tt class="docutils literal"><span class="pre">MPS_BUILD_SC</span></tt></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="admonition-note admonition">
|
|
<p class="first admonition-title">Notes</p>
|
|
<table class="docutils footnote" frame="void" id="id3" rules="none">
|
|
<colgroup><col class="label" /><col /></colgroup>
|
|
<tbody valign="top">
|
|
<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>Obsolete: the MPS used to make a distinction between the
|
|
80386 and 80486 processor architectures.</td></tr>
|
|
</tbody>
|
|
</table>
|
|
<table class="last docutils footnote" frame="void" id="id4" rules="none">
|
|
<colgroup><col class="label" /><col /></colgroup>
|
|
<tbody valign="top">
|
|
<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td>This was the MIPSpro C compiler on IRIX; and the Digital C
|
|
Compiler on OSF/1.</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="historical-platform-list">
|
|
<span id="index-3"></span><h2>22.4. Historical platform list<a class="headerlink" href="#historical-platform-list" title="Permalink to this headline">¶</a></h2>
|
|
<p>This is the full list of platforms that have ever been supported by
|
|
the Memory Pool System, with their current status.</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="30%" />
|
|
<col width="70%" />
|
|
</colgroup>
|
|
<thead valign="bottom">
|
|
<tr class="row-odd"><th class="head">Platform</th>
|
|
<th class="head">Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody valign="top">
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">fri3gc</span></tt></td>
|
|
<td>Supported</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">fri4gc</span></tt></td>
|
|
<td>Corrected to <tt class="docutils literal"><span class="pre">fri3gc</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">fri6gc</span></tt></td>
|
|
<td>Supported</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">i5m2cc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">iam4cc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">lii3eg</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">lii3gc</span></tt></td>
|
|
<td>Supported</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">lii4gc</span></tt></td>
|
|
<td>Corrected to <tt class="docutils literal"><span class="pre">lii3gc</span></tt></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">lii6gc</span></tt></td>
|
|
<td>Supported</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">lippgc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">o1alcc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">o1algc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">s7m6mw</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">s7ppac</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">s7ppmw</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">sos8cx</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">sos8gc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">sos8gp</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">sos9sc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">sus8gc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">w3almv</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">w3i3m9</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">w3i3mv</span></tt></td>
|
|
<td>Supported</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">w3i6mv</span></tt></td>
|
|
<td>Supported</td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">w3ppmv</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">xci3gc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">xci3ll</span></tt></td>
|
|
<td>Supported</td>
|
|
</tr>
|
|
<tr class="row-odd"><td><tt class="docutils literal"><span class="pre">xci6ll</span></tt></td>
|
|
<td>Supported</td>
|
|
</tr>
|
|
<tr class="row-even"><td><tt class="docutils literal"><span class="pre">xcppgc</span></tt></td>
|
|
<td><em>Not supported</em></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sphinxsidebar">
|
|
<div class="sphinxsidebarwrapper">
|
|
<p class="logo"><a href="../index.html">
|
|
<img class="logo" src="../_static/logo.png" alt="Logo"/>
|
|
</a></p>
|
|
<h3><a href="../index.html">Table Of Contents</a></h3>
|
|
<ul>
|
|
<li><a class="reference internal" href="#">22. Platforms</a><ul>
|
|
<li><a class="reference internal" href="#platform-codes">22.1. Platform codes</a></li>
|
|
<li><a class="reference internal" href="#platform-interface">22.2. Platform interface</a></li>
|
|
<li><a class="reference internal" href="#historical-platform-codes">22.3. Historical platform codes</a></li>
|
|
<li><a class="reference internal" href="#historical-platform-list">22.4. Historical platform list</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
<h4>Previous topic</h4>
|
|
<p class="topless"><a href="plinth.html"
|
|
title="previous chapter">21. Plinth</a></p>
|
|
<h4>Next topic</h4>
|
|
<p class="topless"><a href="../pool/index.html"
|
|
title="next chapter">Pool reference</a></p><h4>Downloads</h4>
|
|
|
|
<p class="topless">
|
|
<a href="http://www.ravenbrook.com/project/mps/release/1.111.0/">MPS Kit release 1.111.0</a><br>
|
|
<a href="http://www.ravenbrook.com/project/mps/release/">All MPS Kit releases</a>
|
|
</p>
|
|
|
|
<h4>Issues</h4>
|
|
|
|
<p class="topless">
|
|
<a href="http://www.ravenbrook.com/project/mps/issue/?action=list&view=status%3dopen&display=Job:Priority:Title&sort=Priority">Known issues</a><br>
|
|
<a href="http://www.ravenbrook.com/project/mps/issue/?action=fixed&release_fixed=1.111.0">Issues fixed in release 1.111.0</a>
|
|
</p><h4>Contact us</h4>
|
|
|
|
<p class="topless"><a href="mailto:mps-questions@ravenbrook.com">mps-questions@ravenbrook.com</a></p>
|
|
</div>
|
|
</div>
|
|
<div class="clearer"></div>
|
|
</div>
|
|
<div class="related">
|
|
<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="../pool/index.html" title="Pool reference"
|
|
>next</a> |</li>
|
|
<li class="right" >
|
|
<a href="plinth.html" title="21. Plinth"
|
|
>previous</a> |</li>
|
|
<li><a href="../index.html">Memory Pool System 1.111.0 documentation</a> »</li>
|
|
<li><a href="index.html" >Reference</a> »</li>
|
|
</ul>
|
|
</div>
|
|
<div class="footer">
|
|
© <a href="../copyright.html">Copyright</a> 2013, Ravenbrook Limited.
|
|
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
|
|
</div>
|
|
</body>
|
|
</html> |