aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsigsegv7 <ian@vegaa.systems>2023-10-06 18:18:43 -0400
committersigsegv7 <ian@vegaa.systems>2023-10-06 18:18:43 -0400
commitf369979e8c61bc983787858f846364717f553dd8 (patch)
tree70c8be7d58efe6d436beddc69ce9001d4b8c16f4
parent6cc103ed38f44997fa4836b31d53257d53f8afa4 (diff)
kernel/docs: Add timer(9) manpage
Signed-off-by: sigsegv7 <ian@vegaa.systems>
-rw-r--r--share/man/man9/timer.957
-rw-r--r--sys/include/sys/timer.h4
2 files changed, 61 insertions, 0 deletions
diff --git a/share/man/man9/timer.9 b/share/man/man9/timer.9
new file mode 100644
index 0000000..cf236cc
--- /dev/null
+++ b/share/man/man9/timer.9
@@ -0,0 +1,57 @@
+.\" Copyright (c) 2023 Ian Marco Moffett and the VegaOS team.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright notice,
+.\" this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of VegaOS nor the names of its
+.\" contributors may be used to endorse or promote products derived from
+.\" this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+
+.Dd October 6, 2023
+.Dt TIMER 9
+.Os
+.Sh NAME
+.Nm timer - vega timer abstraction
+.Sh SYNOPSIS
+.In sys/timer.h
+.Sh DESCRIPTION
+The timer registry abstraction allows timers on the machine
+to be registered as a generic timer type allowing other parts
+of the kernel to request a timer of that type e.g scheduler reserved
+timers (TIMER_SCHED). All timers within the system are represented via
+a timer descriptor which is simply the
+.Ft timer
+struct.
+
+The timer struct pointer fields are optional and must
+be
+.Ft NULL
+if unused. Therefore it is the requesting kernel module's responsibility to verify
+a field is not unused before using it for obvious reasons.
+
+
+However, it is highly recommended to set the
+.Ft name
+field. This field on an HPET timer could be, for example:
+.Ft HIGH_PRECISION_EVENT_TIMER
+
+.Sh AUTHORS
+.An Ian Moffett Aq Mt ian@vegaa.systems
diff --git a/sys/include/sys/timer.h b/sys/include/sys/timer.h
index 1bb9a96..70bf27d 100644
--- a/sys/include/sys/timer.h
+++ b/sys/include/sys/timer.h
@@ -27,6 +27,10 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
+/*
+ * For documentation: See timer(9)
+ */
+
#ifndef _SYS_TIMER_H_
#define _SYS_TIMER_H_