From f7d680a85052ab9ea17bb41173ffe17a56094665 Mon Sep 17 00:00:00 2001 From: sigsegv7 Date: Wed, 4 Oct 2023 15:51:35 -0400 Subject: docs: Move kernel manpages to share/man/man9/ Signed-off-by: sigsegv7 --- share/man/arch.9 | 73 --------------------------------------------------- share/man/man9/arch.9 | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++ share/man/man9/mmio.9 | 60 ++++++++++++++++++++++++++++++++++++++++++ share/man/mmio.9 | 60 ------------------------------------------ 4 files changed, 133 insertions(+), 133 deletions(-) delete mode 100644 share/man/arch.9 create mode 100644 share/man/man9/arch.9 create mode 100644 share/man/man9/mmio.9 delete mode 100644 share/man/mmio.9 diff --git a/share/man/arch.9 b/share/man/arch.9 deleted file mode 100644 index dca490b..0000000 --- a/share/man/arch.9 +++ /dev/null @@ -1,73 +0,0 @@ -.\" 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 4, 2023 -.Dt ARCH 9 -.Os -.Sh NAME -.Nm arch - vega arch information -.Sh SYNOPSIS -.In sys/machdep.h -.In machine/cpu.h -.Sh DESCRIPTION -NOTE: All examples will be for x86_64 but can be applied to others - - -Information about how Vega and architectures work together. This -will describe headers and .c files that need to exist for all -architectures and things they should include. The -.Ft machine/cpu.h -file contains information about the CPU for the specific -architecture. Required structures in this header include the -.Ft cpu_info -struct which contains CPU specific fields. - -Example -.Ft cpu_info -structure for x86_64 is shown below: - -.Bd -literal -struct cpu_info { - void *pmap; /* Current pmap */ - volatile uint32_t lapic_freq; - ... -}; -.Ed - -The macro -.Ft this_cpu() -calls an internal function that fetches the -cpu_info structure for the current CPU. - -The macro -.Ft get_bsp() -calls an internal function that fetches the -cpu_info structure for the BSP. - -The function these macros call must return a pointer -to a -.Ft cpu_info -structure. diff --git a/share/man/man9/arch.9 b/share/man/man9/arch.9 new file mode 100644 index 0000000..dca490b --- /dev/null +++ b/share/man/man9/arch.9 @@ -0,0 +1,73 @@ +.\" 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 4, 2023 +.Dt ARCH 9 +.Os +.Sh NAME +.Nm arch - vega arch information +.Sh SYNOPSIS +.In sys/machdep.h +.In machine/cpu.h +.Sh DESCRIPTION +NOTE: All examples will be for x86_64 but can be applied to others + + +Information about how Vega and architectures work together. This +will describe headers and .c files that need to exist for all +architectures and things they should include. The +.Ft machine/cpu.h +file contains information about the CPU for the specific +architecture. Required structures in this header include the +.Ft cpu_info +struct which contains CPU specific fields. + +Example +.Ft cpu_info +structure for x86_64 is shown below: + +.Bd -literal +struct cpu_info { + void *pmap; /* Current pmap */ + volatile uint32_t lapic_freq; + ... +}; +.Ed + +The macro +.Ft this_cpu() +calls an internal function that fetches the +cpu_info structure for the current CPU. + +The macro +.Ft get_bsp() +calls an internal function that fetches the +cpu_info structure for the BSP. + +The function these macros call must return a pointer +to a +.Ft cpu_info +structure. diff --git a/share/man/man9/mmio.9 b/share/man/man9/mmio.9 new file mode 100644 index 0000000..d960c8c --- /dev/null +++ b/share/man/man9/mmio.9 @@ -0,0 +1,60 @@ +.\" 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 4, 2023 +.Dt MMIO 9 +.Os +.Sh NAME +.Nm mmio - vega 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 Vega kernel programming. +Instead, rely on Vega's MMIO interface and use +.Ft mmio_read() +and +.Ft mmio_write() +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. diff --git a/share/man/mmio.9 b/share/man/mmio.9 deleted file mode 100644 index d960c8c..0000000 --- a/share/man/mmio.9 +++ /dev/null @@ -1,60 +0,0 @@ -.\" 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 4, 2023 -.Dt MMIO 9 -.Os -.Sh NAME -.Nm mmio - vega 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 Vega kernel programming. -Instead, rely on Vega's MMIO interface and use -.Ft mmio_read() -and -.Ft mmio_write() -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. -- cgit v1.2.3