diff options
Diffstat (limited to 'share/man')
-rw-r--r-- | share/man/man1/beep.1 | 45 | ||||
-rw-r--r-- | share/man/man1/cat.1 | 52 | ||||
-rw-r--r-- | share/man/man1/echo.1 | 47 | ||||
-rw-r--r-- | share/man/man1/mex.1 | 48 | ||||
-rw-r--r-- | share/man/man1/nerve.1 | 73 | ||||
-rw-r--r-- | share/man/man1/omar.1 | 55 | ||||
-rw-r--r-- | share/man/man1/osh.1 | 83 | ||||
-rw-r--r-- | share/man/man2/exit.2 | 55 | ||||
-rw-r--r-- | share/man/man9/dcdr.9 | 2 | ||||
-rw-r--r-- | share/man/man9/dynalloc.9 | 2 | ||||
-rw-r--r-- | share/man/man9/kconf.9 | 81 | ||||
-rw-r--r-- | share/man/man9/mmio.9 | 66 | ||||
-rw-r--r-- | share/man/man9/panic.9 | 2 | ||||
-rw-r--r-- | share/man/man9/pci_conf.9 | 78 | ||||
-rw-r--r-- | share/man/man9/spinlock.9 | 2 | ||||
-rw-r--r-- | share/man/man9/timer.9 | 2 | ||||
-rw-r--r-- | share/man/man9/vm.9 | 46 | ||||
-rw-r--r-- | share/man/man9/vm_map.9 | 97 |
18 files changed, 831 insertions, 5 deletions
diff --git a/share/man/man1/beep.1 b/share/man/man1/beep.1 new file mode 100644 index 0000000..9905952 --- /dev/null +++ b/share/man/man1/beep.1 @@ -0,0 +1,45 @@ +.\" Copyright (c) 2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Jul 17 2025 +.Dt BEEP 1 +.Os HYRA +.Sh NAME +.Nm beep - beep the speaker +.Sh SYNOPSIS +beep [freq] [duration] + +.Sh DESCRIPTION + +The +.Nm +command beeps the PC speaker at a given frequency ('freq') in hertz for +a given duration ('duration') in milliseconds. This can be useful scripts +that notify the user or just for fun! Just beware that it can get very annoying +very fast! + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man1/cat.1 b/share/man/man1/cat.1 new file mode 100644 index 0000000..1759407 --- /dev/null +++ b/share/man/man1/cat.1 @@ -0,0 +1,52 @@ +.\" Copyright (c) 2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Aug 6 2025 +.Dt CAT 1 +.Os HYRA +.Sh NAME +.Nm cat - concatenate files and print to standard output +.Sh SYNOPSIS +cat [FILE] ... + +.Sh DESCRIPTION + +The +.Nm +command can be used concatenate files or simply write their contents +to standard output. + +.Bd -literal +[-n]: Number each line +[-b]: Number each non-blank line +.Ed + +.Sh SEE ALSO + +mex(1) + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man1/echo.1 b/share/man/man1/echo.1 new file mode 100644 index 0000000..6adf192 --- /dev/null +++ b/share/man/man1/echo.1 @@ -0,0 +1,47 @@ +.\" Copyright (c) 2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Jul 17 2025 +.Dt ECHO 1 +.Os HYRA +.Sh NAME +.Nm echo - print a line of text +.Sh SYNOPSIS +echo [STRING] + +.Sh DESCRIPTION + +The +.Nm +command displays a given string to the console. Used within scripts for logging +information or debugging. An example usage of this command is: + +.Bd -literal +echo MEOWWWW !!! +.Ed + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man1/mex.1 b/share/man/man1/mex.1 new file mode 100644 index 0000000..8d19752 --- /dev/null +++ b/share/man/man1/mex.1 @@ -0,0 +1,48 @@ +.\" Copyright (c) 2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Jul 17 2025 +.Dt MEX 1 +.Os HYRA +.Sh NAME +.Nm mex - perform a hexdump on a file +.Sh SYNOPSIS +mex [ /path/to/file ] + +.Sh DESCRIPTION + +The +.Nm +command dumps the bytes of a given file (specified by a path) in +base-16 (hexadecimal) representation. It is useful for debugging, +binary analysis, and satisfying ones nagging curiosity. + +.Sh SEE ALSO + +cat(1) + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man1/nerve.1 b/share/man/man1/nerve.1 new file mode 100644 index 0000000..8f2d19e --- /dev/null +++ b/share/man/man1/nerve.1 @@ -0,0 +1,73 @@ +.\" Copyright (c) 2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Jul 18 2025 +.Dt NERVE 1 +.Os HYRA +.Sh NAME +.Nm nerve - interact with control files +.Sh SYNOPSIS +nerve <verb> [ .. payload for pokes ..] + +verb 'poke': Poke a nerve + +verb 'peek': Peek at a nerve + +nerve ending 'consattr': Console attributes + +nerve ending 'consfeat': Console features + +.Sh DESCRIPTION + +The +.Nm +command can be used to modify system attributes and behaviour through various +nerve endings (e.g., control files, et cetera). To drive a nerve, one must provide +a verb (describing an operation) as well as a payload. An example of this command +is moving the cursor position to the HOME (0, 0) position: + +.Bd -literal +nerve poke consattr 0 0 + / / / / + verb nerve [x] [y] +.Ed + +A nerve may also be peeked at by using the 'peek' verb. Here is an example of the usage +of this verb: + +.Bd -literal +nerve peek consfeat + / / + verb nerve + +output: + ansi_esc=1 + show_curs=0 + ... +.Ed + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man1/omar.1 b/share/man/man1/omar.1 new file mode 100644 index 0000000..611b6da --- /dev/null +++ b/share/man/man1/omar.1 @@ -0,0 +1,55 @@ +.\" Copyright (c) 2025 Ian Marco Moffett and the Osmora 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 Hyra 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 May 2 2025 +.Dt OMAR 1 +.Os HYRA +.Sh NAME +.Nm omar - OSMORA Archive Format +.Sh SYNOPSIS +omar -i [input] -o [output] + +.Sh DESCRIPTION +Prepare files for use in an initramfs + +.Ft -i + input path directory + +.Ft -o + output path + +Upon creation of the archive image, OMAR will +produce pathnames through stdout with the following +types in square brackets ([]) + +.Ft [f] + Regular file + +.Ft [d] + Directory + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man1/osh.1 b/share/man/man1/osh.1 new file mode 100644 index 0000000..1b2744c --- /dev/null +++ b/share/man/man1/osh.1 @@ -0,0 +1,83 @@ +.\" Copyright (c) 2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Aug 2 2025 +.Dt OSH 1 +.Os HYRA +.Sh NAME +.Nm osh - OSMORA shell +.Sh SYNOPSIS +osh [optional file] + +.Sh DESCRIPTION + +OSH is a simple shell interpreter that is capable of executing commands +from the user via stdin or a shell script file passed as an argument. + +.Sh COMMENTS +OSH supports the use of comments (i.e., pieces of text ignored by the shell) +denoted by '@'. The following is an example of using comments: + +.Bd -literal +echo hello !! @ Echos the text "hello !!" +.Ed + +.Sh DEFINITIONS +OSH defines "control operators" as any character(s) reserved by OSH for +representing specific operations (e.g., background jobs, command repetition, etc): + +The +.Ft '&' +control operator is used after a command or binary path +in order to run the executable as a background job, allowing +the shell to continue immediately. Here is an example of running "sleep" in the background: +.Bd -literal +-- +@ +@ Usually this will hang the shell for 5 +@ seconds until sleep wakes up. However, +@ when we postpend '&', the shell executes +@ 'sleep' as a background job and continues +@ as usual. +@ +sleep 5 & +-- +.Ed + +The +.Ft '!!' +control operator is used to repeat the most recently used +command. This is simply written by itself like this: + +.Bd -literal +-- +echo "hewwo" @ Echo "hewwo" +!! @ Do it again... +-- +.Ed + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man2/exit.2 b/share/man/man2/exit.2 new file mode 100644 index 0000000..8342f50 --- /dev/null +++ b/share/man/man2/exit.2 @@ -0,0 +1,55 @@ +.\" Copyright (c) 2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Jul 17 2025 +.Dt EXIT 2 +.Os HYRA +.Sh NAME +.Nm exit, _Exit +.Sh SYNOPSIS +#include <stdlib.h> + +[[noreturn]] void exit(int status) + +[[noreturn]] void _Exit(int status) + +.Sh DESCRIPTION + +The exit() function terminates the calling process while calling exit +handlers and performing libc specific cleanups. On the other hand, the +_Exit() function terminates the calling process *immediately* bypassing +internal libc exit routines and cleanup hooks. + +The value +.Ft status[7:0] +is returned to the parent process to indicate the reason of process termination. + +.Sh RETURN VALUE + +These functions do not return + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man9/dcdr.9 b/share/man/man9/dcdr.9 index 1b8995a..37d7622 100644 --- a/share/man/man9/dcdr.9 +++ b/share/man/man9/dcdr.9 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2023-2024 Ian Marco Moffett and the Osmora Team. +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora Team. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without diff --git a/share/man/man9/dynalloc.9 b/share/man/man9/dynalloc.9 index d1c4723..c59c8b7 100644 --- a/share/man/man9/dynalloc.9 +++ b/share/man/man9/dynalloc.9 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2023-2024 Ian Marco Moffett and the Osmora Team. +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora Team. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without diff --git a/share/man/man9/kconf.9 b/share/man/man9/kconf.9 new file mode 100644 index 0000000..0257e9b --- /dev/null +++ b/share/man/man9/kconf.9 @@ -0,0 +1,81 @@ +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Jun 7 2025 +.Dt KCONF 9 +.Os Hyra +.Sh NAME +.Nm kconf - Hyra kernel configuration +.Sh SYNOPSIS +GENERIC configuration: +.Ft sys/arch/<arch>/conf/GENERIC + +Kconf sources: +.Ft tools/kconf/ + +.Sh DESCRIPTION + +Hyra provides the kconf format for kernel configuration by allowing +the user to create defines that represent yes/no options and fixed values. + +Running kconf on a configuration file results in define flags (-D__KEY=val) to +be generated so that they may be passed to the compiler of choice. + +The +.Ft option +keyword allows users to define an option that +can either be yes or no. For example, the following +may be used to create an option "FOO" to be set to "yes": + +.Ft option FOO yes + +This will be given to the kernel as __FOO, for yes/no options the value +of either 1 (yes) or 0 will be given. + +Similarly, a user may create a define that holds a fixed value +by using the +.Ft setval +keyword. + +For example, the following may be used to create an option +"MEOW" set to 0xCA7F00D: + +.Ft setval MEOW 0xCA7F00D + +These options can be read within the kernel by checking if +the define exists and potentially falling back to a default +value if not. This example shows how "MEOW" can be read: + +.Bd -literal +#if defined(__MEOW) /* Option is prefixed with "__" */ +#define MEOW __MEOW +#else +#define MEOW 0 +#endif /* __MEOW */ +.Ed + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man9/mmio.9 b/share/man/man9/mmio.9 new file mode 100644 index 0000000..4ede196 --- /dev/null +++ b/share/man/man9/mmio.9 @@ -0,0 +1,66 @@ +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Feb 18 2025 +.Dt MMIO 9 +.Os Hyra +.Sh NAME +.Nm mmio - hyra MMIO interface +.Sh SYNOPSIS +.In sys/mmio.h + +.Bd -literal +static inline void mmio_write8(void *addr, uint8_t val); +static inline void mmio_write16(void *addr, uint16_t val); +static inline void mmio_write32(void *addr, uint32_t val); +#if __SIZEOF_SIZE_T__ == 8 +static inline void mmio_write64(void *addr, uint64_t val); +#endif +__extension__ +.Ed + +.Sh DESCRIPTION +In short, MMIO is a method of writing to registers +of an I/O device via a mapped porition of memory. MMIO +should NOT be done on your own when doing Hyra kernel programming. +Instead, rely on Hyra's MMIO interface and use +.Ft mmio_read<n>() +and +.Ft mmio_write<n>() +functions. Where `n` is 8 to 32 on 32-bit machines, and to 64 +on 64-bit machines. + +The +.Ft addr +argument can be either a physical address or virtual +address; however, it is recommended to use virtual addresses +for the sake of consistency. + +.Sh SEE ALSO +.Xr vm_map 9, + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org diff --git a/share/man/man9/panic.9 b/share/man/man9/panic.9 index bc60547..48a6da4 100644 --- a/share/man/man9/panic.9 +++ b/share/man/man9/panic.9 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2023-2024 Ian Marco Moffett and the Osmora Team. +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora Team. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without diff --git a/share/man/man9/pci_conf.9 b/share/man/man9/pci_conf.9 new file mode 100644 index 0000000..4db07f3 --- /dev/null +++ b/share/man/man9/pci_conf.9 @@ -0,0 +1,78 @@ +.\" Copyright (c) 2023-2024 Ian Marco Moffett and the Osmora 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 Hyra 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 Feb 20 2024 +.Dt PCI_CONF 9 +.Os Hyra +.Sh NAME +.Nm pci_conf - PCI config space interface +.Sh SYNOPSIS +.In dev/pci/pci.h + +.Ft pcireg_t +.Fn pci_readl "struct pci_device *dev" "uint32_t offset" + +.Ft void +.Fn pci_writel "struct pci_device *dev" "uint32_t offset" "pcireg_t val" + +.Sh DESCRIPTION +The PCI configuration space is a 256-byte region implemented +per device, consisting of registers used for host-to-device +communication and device-specific configuration. + +The Hyra PCI driver provides an API for interfacing +with a device's configuration space. + +The +.Ft pci_readl() +function returns a 32-bit value from the +configuration space of the device pointed +to by the +.Ft dev +argument. The +.Ft offset +argument describes how far into the configuration +space should be read from. + +The +.Ft pci_writel() +function writes a 32-bit value into the configuration +space of the device pointed to by the +.Ft dev +argument. The +.Ft offset +argument describes how far into the configuration space +.Ft val +should be written to. + +For more information, refer to section 6 of the PCI Local Bus +Specification 3.0 + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org + +.Sh HISTORY +First appeared in Hyra v1.2 diff --git a/share/man/man9/spinlock.9 b/share/man/man9/spinlock.9 index 26cdc31..3d5b941 100644 --- a/share/man/man9/spinlock.9 +++ b/share/man/man9/spinlock.9 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2023-2024 Ian Marco Moffett and the Osmora Team. +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora Team. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without diff --git a/share/man/man9/timer.9 b/share/man/man9/timer.9 index d5f3c98..1c456a4 100644 --- a/share/man/man9/timer.9 +++ b/share/man/man9/timer.9 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2023-2024 Ian Marco Moffett and the Osmora Team. +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora Team. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without diff --git a/share/man/man9/vm.9 b/share/man/man9/vm.9 new file mode 100644 index 0000000..7601a45 --- /dev/null +++ b/share/man/man9/vm.9 @@ -0,0 +1,46 @@ +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Jun 6 2024 +.Dt VM 9 +.Os Hyra +.Sh NAME +.Nm vm - hyra virtual memory subsystem +.Sh SYNOPSIS +.In vm/vm.h + +.Sh DESCRIPTION +The Hyra virtual memory subsystem is a crucial subsystem within the +kernel. This subsystem facilitates machine independent management of +per-process virtual address spaces and has many frameworks within that +allow abstractions over various things such as pages, memory mapping, and +objects. + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org + +.Sh SEE ALSO +.Xr vm_map 9 diff --git a/share/man/man9/vm_map.9 b/share/man/man9/vm_map.9 new file mode 100644 index 0000000..9c5a3f6 --- /dev/null +++ b/share/man/man9/vm_map.9 @@ -0,0 +1,97 @@ +.\" Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora 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 Hyra 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 Jun 6 2024 +.Dt VM_MAP 9 +.Os Hyra +.Sh NAME +.Nm vm_map - create/destory a virtual memory mapping +.Sh SYNOPSIS +.In vm/map.h + +.Ft int +.Fn vm_map "struct vas vas" "vaddr_t va" "paddr_t pa" "vm_prot_t prot" "size_t count" + +.Ft int +.Fn vm_unmap "struct vas vas" "vaddr_t va" "size_t count" + +.Sh DESCRIPTION + +The Hyra virtual memory mapping framework provides a machine independent +interface for mapping and unmapping pages to respective page frames. + +The +.Fn vm_map +function creates a virtual to physical memory mapping. + +The +.Fa vas +argument specifies the virtual address space for the mapping +to be created within. + +The +.Fa va +argument specifies the virtual address to be mapped. + +The +.Fa pa +argument specifies the physical address that +.Fa va +is to be mapped to. + +The +.Fa prot +argument specifies the virtual memory protection flags. + +The +.Fa count +argument specifies the number of bytes to be mapped which +is to be aligned to the machine's page size. + +The +.Fn vm_unmap +function destroys a virtual to physical memory mapping. + +The +.Fa vas +argument specifies the virtual address space for the mapping +to be destroyed within. + + +The +.Fa va +argument specifies the virtual address to be unmapped. + +The +.Fa count +argument specifies the number of bytes to be unmapped which +is to be aligned to the machine's page size. + +.Sh AUTHORS +.An Ian Moffett Aq Mt ian@osmora.org + +.Sh SEE ALSO +.Xr vm_map 9 |