summaryrefslogtreecommitdiff
path: root/share/man/man9/arch.9
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man9/arch.9')
-rw-r--r--share/man/man9/arch.9133
1 files changed, 0 insertions, 133 deletions
diff --git a/share/man/man9/arch.9 b/share/man/man9/arch.9
deleted file mode 100644
index 5bcac2d..0000000
--- a/share/man/man9/arch.9
+++ /dev/null
@@ -1,133 +0,0 @@
-.\" 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 Mar 13 2024
-.Dt ARCH 9
-.Os Hyra
-.Sh NAME
-.Nm arch - hyra arch information
-.Sh SYNOPSIS
-.In sys/machdep.h
-.In machine/cpu.h
-.In machine/pmap.h
-.Sh DESCRIPTION
-NOTE: All examples will be for x86_64 but can be applied to others
-
-
-Information about how Hyra 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 shown below:
-
-.Bd -literal
-struct cpu_info {
- /* Per-arch fields */
- void *pmap; /* Current pmap */
- uint32_t id;
- struct spinlock lock;
- /* AMD64 */
- ...
-};
-.Ed
-
-There will be some per-architecture fields that, for the sake
-of keeping things tidy, should remain at the top of the struct.
-These fields will be described below.
-
-The
-.Ft pmap
-field points to the current virtual memory context
-which shall be NULL if not used.
-
-The
-.Ft id
-field simply identifies the CPU with a specific "ID".
-
-The
-.Ft lock
-field is a spinlock to prevent race conditions
-while accessing this structure. This must be acquired
-when accessing a
-.Ft cpu_info
-instance.
-
-There are also some common helper macros that shall
-be implemented, these are described below.
-
-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 macro
-.Ft hint_spinwait()
-hints the processor that it is currently
-in a spin-wait loop. This greatly reduces the
-processor’s power consumption and improves
-the performance of the spin-wait loop.
-
-The function these macros call must return a pointer
-to a
-.Ft cpu_info
-structure.
-
-In the
-.Ft machine/pmap.h
-header, should be a struct containing information
-about the address space. This header MUST be implemented
-or compiler errors will occur.
-
-There also exists a
-.Ft pcb
-(Process Control Block) structure in the
-.Ft machine/pcb.h
-header which contains arch specific information per thread.
-
-This structure must be implemented per arch, this structure shall be set up
-by the machdep subsystem, specifically in the
-.Ft processor_init_pcb()
-routine.
-
-The
-.Ft processor_free_pcb()
-routine shall also be implemented per arch to deallocate
-resources when the thread is killed.
-
-.Sh AUTHORS
-.An Ian Moffett Aq Mt ian@osmora.org