summaryrefslogtreecommitdiff
path: root/static/netbsd/man9/kcpuset.9 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man9/kcpuset.9 3.html')
-rw-r--r--static/netbsd/man9/kcpuset.9 3.html339
1 files changed, 0 insertions, 339 deletions
diff --git a/static/netbsd/man9/kcpuset.9 3.html b/static/netbsd/man9/kcpuset.9 3.html
deleted file mode 100644
index cbd8d284..00000000
--- a/static/netbsd/man9/kcpuset.9 3.html
+++ /dev/null
@@ -1,339 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">KCPUSET(9)</td>
- <td class="head-vol">Kernel Developer's Manual</td>
- <td class="head-rtitle">KCPUSET(9)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">kcpuset</code>,
- <code class="Nm">kcpuset_create</code>,
- <code class="Nm">kcpuset_destroy</code>,
- <code class="Nm">kcpuset_clone</code>, <code class="Nm">kcpuset_copy</code>,
- <code class="Nm">kcpuset_use</code>, <code class="Nm">kcpuset_unuse</code>,
- <code class="Nm">kcpuset_copyin</code>,
- <code class="Nm">kcpuset_copyout</code>,
- <code class="Nm">kcpuset_zero</code>, <code class="Nm">kcpuset_fill</code>,
- <code class="Nm">kcpuset_set</code>, <code class="Nm">kcpuset_clear</code>,
- <code class="Nm">kcpuset_isset</code>,
- <code class="Nm">kcpuset_isotherset</code>,
- <code class="Nm">kcpuset_iszero</code>,
- <code class="Nm">kcpuset_match</code>,
- <code class="Nm">kcpuset_intersect</code>,
- <code class="Nm">kcpuset_merge</code>,
- <code class="Nm">kcpuset_remove</code>, <code class="Nm">kcpuset_ffs</code>,
- <code class="Nm">kcpuset_ffs_intersecting</code>,
- <code class="Nm">kcpuset_countset</code>,
- <code class="Nm">kcpuset_atomic_set</code>,
- <code class="Nm">kcpuset_atomic_clear</code>,
- <code class="Nm">kcpuset_atomicly_intersect</code>,
- <code class="Nm">kcpuset_atomicly_merge</code>,
- <code class="Nm">kcpuset_atomicly_remove</code>,
- <code class="Nm">kcpuset_export_32</code> &#x2014; <span class="Nd">dynamic
- kernel CPU sets</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<p class="Pp"><code class="In">#include
- &lt;<a class="In">sys/kcpuset.h</a>&gt;</code></p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_create</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- **retkcp</var>, <var class="Fa" style="white-space: nowrap;">bool
- zero</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_destroy</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_clone</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- **retkcp</var>, <var class="Fa" style="white-space: nowrap;">const kcpuset_t
- *skcp</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_copy</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *dkcp</var>, <var class="Fa" style="white-space: nowrap;">const kcpuset_t
- *skcp</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_use</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_unuse</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>, <var class="Fa" style="white-space: nowrap;">kcpuset_t
- **lst</var>);</p>
-<p class="Pp"><var class="Ft">int</var>
- <br/>
- <code class="Fn">kcpuset_copyin</code>(<var class="Fa" style="white-space: nowrap;">const
- cpuset_t *ucp</var>, <var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>, <var class="Fa" style="white-space: nowrap;">size_t
- len</var>);</p>
-<p class="Pp"><var class="Ft">int</var>
- <br/>
- <code class="Fn">kcpuset_copyout</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>, <var class="Fa" style="white-space: nowrap;">cpuset_t
- *ucp</var>, <var class="Fa" style="white-space: nowrap;">size_t
- len</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_zero</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_fill</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_set</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>, <var class="Fa" style="white-space: nowrap;">cpuid_t
- cpu</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_clear</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>, <var class="Fa" style="white-space: nowrap;">cpuid_t
- cpu</var>);</p>
-<p class="Pp"><var class="Ft">bool</var>
- <br/>
- <code class="Fn">kcpuset_isset</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t * kcp</var>, <var class="Fa" style="white-space: nowrap;">cpuid_t
- cpu</var>);</p>
-<p class="Pp"><var class="Ft">bool</var>
- <br/>
- <code class="Fn">kcpuset_isotherset</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t * kcp</var>, <var class="Fa" style="white-space: nowrap;">cpuid_t
- cpu</var>);</p>
-<p class="Pp"><var class="Ft">bool</var>
- <br/>
- <code class="Fn">kcpuset_iszero</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp</var>);</p>
-<p class="Pp"><var class="Ft">bool</var>
- <br/>
- <code class="Fn">kcpuset_intersecting_p</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">bool</var>
- <br/>
- <code class="Fn">kcpuset_match</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_intersect</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const kcpuset_t
- *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_merge</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const kcpuset_t
- *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_remove</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const kcpuset_t
- *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">cpuid_t</var>
- <br/>
- <code class="Fn">kcpuset_ffs</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp</var>);</p>
-<p class="Pp"><var class="Ft">cpuid_t</var>
- <br/>
- <code class="Fn">kcpuset_ffs_intersecting</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">int</var>
- <br/>
- <code class="Fn">kcpuset_countset</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_atomic_set</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>, <var class="Fa" style="white-space: nowrap;">cpuid_t
- cpu</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_atomic_clear</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp</var>, <var class="Fa" style="white-space: nowrap;">cpuid_t
- cpu</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_atomicly_intersect</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const kcpuset_t
- *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_atomicly_merge</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const kcpuset_t
- *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_atomicly_remove</code>(<var class="Fa" style="white-space: nowrap;">kcpuset_t
- *kcp1</var>, <var class="Fa" style="white-space: nowrap;">const kcpuset_t
- *kcp2</var>);</p>
-<p class="Pp"><var class="Ft">void</var>
- <br/>
- <code class="Fn">kcpuset_export_u32</code>(<var class="Fa" style="white-space: nowrap;">const
- kcpuset_t *kcp</var>, <var class="Fa" style="white-space: nowrap;">uint32_t
- *bitfield</var>, <var class="Fa" style="white-space: nowrap;">size_t
- len</var>);</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The machine-independent <code class="Nm">kcpuset</code> subsystem
- provides support for dynamic processor sets. Conceptually
- <code class="Nm">kcpuset</code> can be understood to be the kernel
- equivalent of the user space <a class="Xr">cpuset(3)</a> interface.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="FUNCTIONS"><a class="permalink" href="#FUNCTIONS">FUNCTIONS</a></h1>
-<dl class="Bl-tag">
- <dt id="kcpuset_create"><a class="permalink" href="#kcpuset_create"><code class="Fn">kcpuset_create</code></a>(<var class="Fa">retkcp</var>,
- <var class="Fa">zero</var>)</dt>
- <dd>The <code class="Fn">kcpuset_create</code>() function creates a dynamic
- CPU set and stores the result to <var class="Fa">retkcp</var>. If the
- boolean <var class="Fa">zero</var> is not false, the allocated set is also
- initialized to zero.</dd>
- <dt id="kcpuset_destroy"><a class="permalink" href="#kcpuset_destroy"><code class="Fn">kcpuset_destroy</code></a>(<var class="Fa">kcp</var>)</dt>
- <dd>Destroys the CPU set <var class="Fa">kcp</var> and schedules any linked
- CPU sets for deferred destruction.</dd>
- <dt id="kcpuset_copy"><a class="permalink" href="#kcpuset_copy"><code class="Fn">kcpuset_copy</code></a>(<var class="Fa">dkcp</var>,
- <var class="Fa">skcp</var>)</dt>
- <dd>Copies the CPU set pointed by <var class="Fa">skcp</var> to
- <var class="Fa">dkcp</var>.</dd>
- <dt id="kcpuset_clone"><a class="permalink" href="#kcpuset_clone"><code class="Fn">kcpuset_clone</code></a>(<var class="Fa">retkcp</var>,
- <var class="Fa">skcp</var>)</dt>
- <dd>Creates a dynamic CPU set and stores the result to
- <var class="Fa">retkcp</var> and copies the CPU set pointed by
- <var class="Fa">skcp</var> to the new CPU set.</dd>
- <dt id="kcpuset_use"><a class="permalink" href="#kcpuset_use"><code class="Fn">kcpuset_use</code></a>(<var class="Fa">kcp</var>)</dt>
- <dd>Marks <var class="Fa">kcp</var> as being in use by increasing the
- reference count of the object. Note that initially
- <code class="Fn">kcpuset_create</code>() sets the reference count to
- 1.</dd>
- <dt id="kcpuset_unuse"><a class="permalink" href="#kcpuset_unuse"><code class="Fn">kcpuset_unuse</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">lst</var>)</dt>
- <dd>Decreases the internal reference count of <var class="Fa">kcp</var>, and
- on the last reference (when the count reaches zero), destroys
- <var class="Fa">kcp</var>. If <var class="Fa">lst</var> is not
- <code class="Dv">NULL</code>, then instead of destroying,
- <var class="Fa">kcp</var> will be added to the <var class="Fa">lst</var>
- list for a deferred destruction.</dd>
- <dt id="kcpuset_copyin"><a class="permalink" href="#kcpuset_copyin"><code class="Fn">kcpuset_copyin</code></a>(<var class="Fa">ucp</var>,
- <var class="Fa">kcp</var>, <var class="Fa">len</var>)</dt>
- <dd>Copies the <var class="Fa">len</var> bytes long user-space CPU set
- <var class="Fa">ucp</var> to the kernel CPU set
- <var class="Fa">kcp</var>.</dd>
- <dt id="kcpuset_copyout"><a class="permalink" href="#kcpuset_copyout"><code class="Fn">kcpuset_copyout</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">ucp</var>, <var class="Fa">len</var>)</dt>
- <dd>Copies the kernel CPU set <var class="Fa">kcp</var> to the user-space CPU
- set <var class="Fa">ucp</var>.</dd>
- <dt id="kcpuset_zero"><a class="permalink" href="#kcpuset_zero"><code class="Fn">kcpuset_zero</code></a>(<var class="Fa">kcp</var>)</dt>
- <dd>Clears the set <var class="Fa">kcp</var>.</dd>
- <dt id="kcpuset_fill"><a class="permalink" href="#kcpuset_fill"><code class="Fn">kcpuset_fill</code></a>(<var class="Fa">kcp</var>)</dt>
- <dd>Fills the whole set <var class="Fa">kcp</var> with ones.</dd>
- <dt id="kcpuset_set"><a class="permalink" href="#kcpuset_set"><code class="Fn">kcpuset_set</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">cpu</var>)</dt>
- <dd>Adds <var class="Fa">cpu</var> to the set <var class="Fa">kcp</var>.</dd>
- <dt id="kcpuset_clear"><a class="permalink" href="#kcpuset_clear"><code class="Fn">kcpuset_clear</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">cpu</var>)</dt>
- <dd>Removes <var class="Fa">cpu</var> from the set
- <var class="Fa">kcp</var>.</dd>
- <dt id="kcpuset_isset"><a class="permalink" href="#kcpuset_isset"><code class="Fn">kcpuset_isset</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">cpu</var>)</dt>
- <dd>Returns true if <var class="Fa">cpu</var> is part of the CPU set
- <var class="Fa">kcp</var>.</dd>
- <dt id="kcpuset_isotherset"><a class="permalink" href="#kcpuset_isotherset"><code class="Fn">kcpuset_isotherset</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">cpu</var>)</dt>
- <dd>Returns true if there any CPUs other than <var class="Fa">cpu</var> in the
- CPU set <var class="Fa">kcp</var>.</dd>
- <dt id="kcpuset_iszero"><a class="permalink" href="#kcpuset_iszero"><code class="Fn">kcpuset_iszero</code></a>(<var class="Fa">kcp</var>)</dt>
- <dd>Returns true if the set <var class="Fa">kcp</var> is empty.</dd>
- <dt id="kcpuset_match"><a class="permalink" href="#kcpuset_match"><code class="Fn">kcpuset_match</code></a>(<var class="Fa">kcp1</var>,
- <var class="Fa">kcp2</var>)</dt>
- <dd>Compares the sets <var class="Fa">kcp1</var> and
- <var class="Fa">kcp2</var>, returning true if these are identical.</dd>
- <dt id="kcpuset_intersect"><a class="permalink" href="#kcpuset_intersect"><code class="Fn">kcpuset_intersect</code></a>(<var class="Fa">kcp1</var>,
- <var class="Fa">kcp2</var>)</dt>
- <dd>Removes any CPU not set in <var class="Fa">kcp2</var> from the set
- <var class="Fa">kcp1</var>.</dd>
- <dt id="kcpuset_merge"><a class="permalink" href="#kcpuset_merge"><code class="Fn">kcpuset_merge</code></a>(<var class="Fa">kcp1</var>,
- <var class="Fa">kcp2</var>)</dt>
- <dd>Merges the set <var class="Fa">kcp2</var> to the set
- <var class="Fa">kcp1</var>.</dd>
- <dt id="kcpuset_remove"><a class="permalink" href="#kcpuset_remove"><code class="Fn">kcpuset_remove</code></a>(<var class="Fa">kcp1</var>,
- <var class="Fa">kcp2</var>)</dt>
- <dd>Removes any CPU present in <var class="Fa">kcp2</var> from the set
- <var class="Fa">kcp1</var>.</dd>
- <dt id="kcpuset_ffs"><a class="permalink" href="#kcpuset_ffs"><code class="Fn">kcpuset_ffs</code></a>(<var class="Fa">kcp</var>)</dt>
- <dd>Returns the lowest numbered <var class="Ft">cpu</var> present in
- <var class="Fa">kcp</var> plus 1. If <var class="Fa">kcp</var> is empty, a
- value of 0 is returned. <var class="Fa">kcp</var></dd>
- <dt id="kcpuset_ffs_intersecting"><a class="permalink" href="#kcpuset_ffs_intersecting"><code class="Fn">kcpuset_ffs_intersecting</code></a>(<var class="Fa">kcp1</var>,
- <var class="Fa">kcp2</var>)</dt>
- <dd>Returns the lowest numbered <var class="Ft">cpu</var> present in the
- intersection of <var class="Fa">kcp1</var> and <var class="Fa">kcp2</var>
- plus 1. If the intersection is empty, a value of 0 is returned.</dd>
- <dt id="kcpuset_countset"><a class="permalink" href="#kcpuset_countset"><code class="Fn">kcpuset_countset</code></a>(<var class="Fa">kcp</var>)</dt>
- <dd>Counts how many CPUs are in the set <var class="Fa">kcp</var>.</dd>
- <dt id="kcpuset_atomic_set"><a class="permalink" href="#kcpuset_atomic_set"><code class="Fn">kcpuset_atomic_set</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">cpu</var>)</dt>
- <dd>The <code class="Fn">kcpuset_atomic_set</code>() function operates as
- <code class="Fn">kcpuset_set</code>(), but the operation is atomic; see
- <a class="Xr">atomic_ops(3)</a> for more details.</dd>
- <dt id="kcpuset_atomic_clear"><a class="permalink" href="#kcpuset_atomic_clear"><code class="Fn">kcpuset_atomic_clear</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">cpu</var>)</dt>
- <dd>Removes <var class="Fa">cpu</var> from the CPU set
- <var class="Fa">kcp</var> atomically.</dd>
- <dt id="kcpuset_atomicly_intersect"><a class="permalink" href="#kcpuset_atomicly_intersect"><code class="Fn">kcpuset_atomicly_intersect</code></a>(<var class="Fa">kcp1</var>,
- <var class="Fa">kcp2</var>)</dt>
- <dd>The <code class="Fn">kcpuset_atomicly_intersect</code>() function operates
- as <code class="Fn">kcpuset_intersect</code>(), but the operation is
- performed using atomic operations; see <a class="Xr">atomic_ops(3)</a> for
- more details.</dd>
- <dt id="kcpuset_atomicly_merge"><a class="permalink" href="#kcpuset_atomicly_merge"><code class="Fn">kcpuset_atomicly_merge</code></a>(<var class="Fa">kcp1</var>,
- <var class="Fa">kcp2</var>)</dt>
- <dd>The <code class="Fn">kcpuset_atomicly_merge</code>() function operates as
- <code class="Fn">kcpuset_merge</code>(), but the operation is performed
- using atomic operations; see <a class="Xr">atomic_ops(3)</a> for more
- details.</dd>
- <dt id="kcpuset_atomicly_remove"><a class="permalink" href="#kcpuset_atomicly_remove"><code class="Fn">kcpuset_atomicly_remove</code></a>(<var class="Fa">kcp1</var>,
- <var class="Fa">kcp2</var>)</dt>
- <dd>The <code class="Fn">kcpuset_atomicly_remove</code>() function operates as
- <code class="Fn">kcpuset_remove</code>(), but the operation is performed
- using atomic operations; see <a class="Xr">atomic_ops(3)</a> for more
- details.</dd>
- <dt id="kcpuset_export_u32"><a class="permalink" href="#kcpuset_export_u32"><code class="Fn">kcpuset_export_u32</code></a>(<var class="Fa">kcp</var>,
- <var class="Fa">bitfield</var>, <var class="Fa">len</var>)</dt>
- <dd>Exports the CPU set <var class="Fa">kcp</var> into a format of 32-bit
- integer array, specified by <var class="Fa">bitfield</var> and length in
- bytes by <var class="Fa">len</var>. An integers is in the host byte-order
- and represents a bit field. The first bit at index zero represents CPU
- number 0, and so on.</dd>
-</dl>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="CODE_REFERENCES"><a class="permalink" href="#CODE_REFERENCES">CODE
- REFERENCES</a></h1>
-<p class="Pp">The <code class="Nm">kcpuset</code> subsystem is implemented
- within <span class="Pa">sys/kern/subr_kcpuset.c</span>.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">cpuset(3)</a></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
-<p class="Pp">The <code class="Nm">kcpuset</code> subsystem first appeared in
- <span class="Ux">NetBSD 6.0</span>.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">July 17, 2013</td>
- <td class="foot-os">NetBSD 10.1</td>
- </tr>
-</table>