diff --git a/doc/html/Makefile.am b/doc/html/Makefile.am
index f05ca9b04bf0b8c4c72ae3a5db0591f9d0e4ef93..eb76da8f4d3b3b32b1e6ef36eadc5009c68921bf 100644
--- a/doc/html/Makefile.am
+++ b/doc/html/Makefile.am
@@ -18,6 +18,7 @@ generated_html = \
 	cons_res_share.html \
 	contributor.html \
 	core_spec.html \
+	core_spec_plugins.html \
 	cpu_management.html \
 	cray.html \
 	crypto_plugins.html \
diff --git a/doc/html/Makefile.in b/doc/html/Makefile.in
index cfe7e9bedfdf51ff5d81bdc8cd6532e0981deb1e..91b337fbb432291b679d7cb5ad2350131bde96fd 100644
--- a/doc/html/Makefile.in
+++ b/doc/html/Makefile.in
@@ -433,6 +433,7 @@ generated_html = \
 	cons_res_share.html \
 	contributor.html \
 	core_spec.html \
+	core_spec_plugins.html \
 	cpu_management.html \
 	cray.html \
 	crypto_plugins.html \
diff --git a/doc/html/core_spec_plugins.shtml b/doc/html/core_spec_plugins.shtml
new file mode 100644
index 0000000000000000000000000000000000000000..9e316d55e30d99e5c06785204b7f8d73a3c31e3d
--- /dev/null
+++ b/doc/html/core_spec_plugins.shtml
@@ -0,0 +1,118 @@
+<!--#include virtual="header.txt"-->
+
+<h1><a name="top">Core Specialization Plugin Programmer Guide</a></h1>
+
+<h2> Overview</h2>
+<p> This document describes SLURM core specialization plugins and the API that
+defines them. It is intended as a resource to programmers wishing to write
+their own SLURM core specialization plugins. This is version 100 of the API.
+
+<p>SLURM core specialization plugins must conform to the
+SLURM Plugin API with the following specifications:
+
+<p><span class="commandline">const char
+plugin_name[]="<i>full&nbsp;text&nbsp;name</i>"</span>
+<p style="margin-left:.2in">
+A free-formatted ASCII text string that identifies the plugin.
+
+<p><span class="commandline">const char
+plugin_type[]="<i>major/minor</i>"</span><br>
+<p style="margin-left:.2in">
+The major type must be &quot;core_spec&quot;.
+The minor type can be any suitable name for the type of core specialization
+package.
+The following core specialization plugins are included in the SLURM distribution
+<ul>
+<li><b>cray</b>&#151;Use Cray APIs to enforce core specialization.</li>
+<li><b>none</b>&#151;Can be configured to log calls to its functions, but
+otherwise does nothing.</li>
+</ul>
+<p>SLURM can be configured to use multiple core specialization plugins if desired.</p>
+
+<p><b>NOTE:</b> These functions all accept as an argument the job step's
+container ID (as set by the proctrack plugin).
+Each job step will have a different container ID.
+Since a job may execute multiple job steps sequentially and/or in parallel;
+these functions will be called once for each job step on each compute node.</p>
+
+<p class="footer"><a href="#top">top</a>
+
+<h2>API Functions</h2>
+<p>All of the following functions are required. Functions which are not
+implemented must be stubbed.
+
+<p class="commandline">
+int core_spec_p_set(uint64_t cont_id, uint16_t core_count)
+<p style="margin-left:.2in"><b>Description</b>:<br>
+This function is called by the slurmstepd daemon after the job step's tasks
+have been forked and exec'ed, and immediately before they are released from
+a held state.
+Note that each job step will have a different container ID.
+Note that since a job may execute multiple job steps sequentially and/or in
+parallel; this function will be called once for each job step on each compute
+node.
+<p style="margin-left:.2in"><b>Arguments</b>: <br>
+<span class="commandline">cont_id</span>
+(input) the job step's container ID as set by the proctrack plugin.<br>
+<span class="commandline">core_count</span>
+(input) number of specialized cores to be reserved for the job.<br>
+<p style="margin-left:.2in"><b>Returns</b>: <br>
+<span class="commandline">SLURM_SUCCESS</span> on success, or<br>
+<span class="commandline">SLURM_ERROR</span> on failure.
+
+<p class="commandline">
+int core_spec_p_clear(uint64_t cont_id)
+<p style="margin-left:.2in"><b>Description</b>:<br>
+This function is called by the slurmstepd daemon after the job step's tasks
+have all exited.
+Note that each job step will have a different container ID.
+Note that since a job may execute multiple job steps sequentially and/or in
+parallel; this function will be called once for each job step on each compute
+node.
+<p style="margin-left:.2in"><b>Arguments</b>: <br>
+<span class="commandline">cont_id</span>
+(input) the job step's container ID as set by the proctrack plugin.<br>
+<p style="margin-left:.2in"><b>Returns</b>: <br>
+<span class="commandline">SLURM_SUCCESS</span> on success, or<br>
+<span class="commandline">SLURM_ERROR</span> on failure.
+
+<p class="commandline">
+int core_spec_p_suspend(uint64_t cont_id)
+<p style="margin-left:.2in"><b>Description</b>:<br>
+This function is called by the slurmstepd daemon immediately after the job
+step's tasks have all been sent a SIGSTOP signal.
+Note that each job step will have a different container ID.
+Note that since a job may execute multiple job steps sequentially and/or in
+parallel; this function will be called once for each job step on each compute
+node.
+<p style="margin-left:.2in"><b>Arguments</b>: <br>
+<span class="commandline">cont_id</span>
+(input) the job step's container ID as set by the proctrack plugin.<br>
+<p style="margin-left:.2in"><b>Returns</b>: <br>
+<span class="commandline">SLURM_SUCCESS</span> on success, or<br>
+<span class="commandline">SLURM_ERROR</span> on failure.
+
+<p class="commandline">
+int core_spec_p_resume(uint64_t cont_id)
+<p style="margin-left:.2in"><b>Description</b>:<br>
+This function is called by the slurmstepd daemon immediately before the job
+step's tasks will all be sent a SIGCONT signal.
+Note that each job step will have a different container ID.
+Note that since a job may execute multiple job steps sequentially and/or in
+parallel; this function will be called once for each job step on each compute
+node.
+<p style="margin-left:.2in"><b>Arguments</b>: <br>
+<span class="commandline">cont_id</span>
+(input) the job step's container ID as set by the proctrack plugin.<br>
+<p style="margin-left:.2in"><b>Returns</b>: <br>
+<span class="commandline">SLURM_SUCCESS</span> on success, or<br>
+<span class="commandline">SLURM_ERROR</span> on failure.
+
+<h2>Versioning</h2>
+<p> This document describes version 100 of the SLURM core specialization API.
+Future releases of SLURM may revise this API.
+<p class="footer"><a href="#top">top</a>
+
+<p style="text-align:center;">Last modified 6 February 2014</p>
+
+<!--#include virtual="footer.txt"-->
diff --git a/doc/html/documentation.shtml b/doc/html/documentation.shtml
index c0f0d81abd5c2dfc2c99240942e197807b3471bf..f73f6c1a9b92b99fb4c917fade1608ace2f4dec5 100644
--- a/doc/html/documentation.shtml
+++ b/doc/html/documentation.shtml
@@ -97,6 +97,7 @@ Documenation for other versions of Slurm is distributed with the code</b></p>
 <li>Plugin Interface Details</li>
 <ul>
 <li><a href="authplugins.html">Authentication Plugin Programmer Guide</a></li>
+<li><a href="core_spec_plugins.html">Core Specialization Plugin Programmer Guide</a></li>
 <li><a href="crypto_plugins.html">Cryptographic Plugin Programmer Guide</a></li>
 <li><a href="ext_sensorsplugins.html">External Sensors Plugin Programmer Guide</a></li>
 <li><a href="jobacct_gatherplugins.html">Job Accounting Gather Plugin Programmer Guide</a></li>
@@ -122,6 +123,6 @@ Documenation for other versions of Slurm is distributed with the code</b></p>
 </li>
 </ul>
 
-<p style="text-align:center;">Last modified 1 November 2013</p>
+<p style="text-align:center;">Last modified 6 February 2014</p>
 
 <!--#include virtual="footer.txt"-->