diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-08-20 16:04:48 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-08-20 16:04:48 +0200 |
| commit | 5117ee7b57f7e349d35c88d31b0d3714a2afbcc6 (patch) | |
| tree | 12d2bae0dbfa74ed6f9161952f134ea1c520b15a /docs | |
| parent | 51bd0daba2fa3cd42242b2c07cf4851bc7845fb1 (diff) | |
| download | kernel-5117ee7b57f7e349d35c88d31b0d3714a2afbcc6.tar.xz kernel-5117ee7b57f7e349d35c88d31b0d3714a2afbcc6.zip | |
docs: draft new documentation structure
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/briefs/tb0002-x86_64_bootstrap.rst | 4 | ||||
| -rw-r--r-- | docs/conf.py | 10 | ||||
| -rw-r--r-- | docs/kapi/capabilities.rst | 13 | ||||
| -rw-r--r-- | docs/kapi/cio.rst | 27 | ||||
| -rw-r--r-- | docs/kapi/cpu.rst | 27 | ||||
| -rw-r--r-- | docs/kapi/devices.rst | 27 | ||||
| -rw-r--r-- | docs/kapi/devices/busses.rst | 2 | ||||
| -rw-r--r-- | docs/kapi/interrupts.rst | 16 |
8 files changed, 79 insertions, 47 deletions
diff --git a/docs/briefs/tb0002-x86_64_bootstrap.rst b/docs/briefs/tb0002-x86_64_bootstrap.rst index b7a6c2a9..26b5db18 100644 --- a/docs/briefs/tb0002-x86_64_bootstrap.rst +++ b/docs/briefs/tb0002-x86_64_bootstrap.rst @@ -39,7 +39,7 @@ Component Analysis ------------------ C++/Assembly Interface (``boot.hpp``) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A single header file serves as the definitive interface between assembly code and C++. This is achieved through the use of the ``__ASSEMBLER__`` preprocessor macro. @@ -106,7 +106,7 @@ Key Implementation Decisions ---------------------------- ``lret`` Stack Frame Construction -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The transition to 64-bit mode is initiated by executing an ``lret`` instruction from 32-bit protected mode. The behavior of this instruction is determined by the characteristics of the destination code segment descriptor referenced by the selector on the stack. diff --git a/docs/conf.py b/docs/conf.py index 47863a06..1712f2a7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,7 +13,10 @@ author = "Felix Morgner" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration -extensions = ["breathe"] +extensions = [ + "sphinx.ext.todo", + "breathe", +] templates_path = ["_templates"] exclude_patterns = ["pre/**"] @@ -25,6 +28,11 @@ breathe_projects = {"kernel": "../build/doxygen/xml"} breathe_default_project = "kernel" breathe_default_members = ('members', 'undoc-members', 'protected-members', 'private-members') +# -- Options todo --------------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/extensions/todo.html + +todo_include_todos = True + # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output diff --git a/docs/kapi/capabilities.rst b/docs/kapi/capabilities.rst new file mode 100644 index 00000000..a4d7d999 --- /dev/null +++ b/docs/kapi/capabilities.rst @@ -0,0 +1,13 @@ +Capability Dispatch +=================== + +.. todo:: + Document the facet based capability dispatch mechanism. + +API Reference +------------- + +Classes +------- + +.. doxygenstruct:: kapi::capabilities::facet_id
\ No newline at end of file diff --git a/docs/kapi/cio.rst b/docs/kapi/cio.rst index 62a36398..15b322fa 100644 --- a/docs/kapi/cio.rst +++ b/docs/kapi/cio.rst @@ -1,17 +1,24 @@ Character I/O Interface ======================= -.. doxygengroup:: kapi-cio - :content-only: +The character I/O interface defines a simple API allowing the kernel to write characters to a platform's output device. -Kernel-defined API ------------------- +API Reference +------------- -.. doxygengroup:: kapi-cio-kernel-defined - :content-only: +Functions +--------- -Platform-defined API --------------------- +.. doxygenfunction:: kapi::cio::init +.. doxygenfunction:: kapi::cio::set_output_device +.. doxygenfunction:: kapi::cio::write -.. doxygengroup:: kapi-cio-platform-defined - :content-only: +Classes +------- + +.. doxygenstruct:: kapi::cio::output_device + +Enums +----- + +.. doxygenenum:: kapi::cio::output_stream diff --git a/docs/kapi/cpu.rst b/docs/kapi/cpu.rst index 0793dd8c..ab5d182f 100644 --- a/docs/kapi/cpu.rst +++ b/docs/kapi/cpu.rst @@ -1,17 +1,24 @@ CPU Interface ============= -.. doxygengroup:: kapi-cpu - :content-only: +.. todo:: + Write an introduction to the CPU interface. -Kernel-defined API ------------------- +Functions +--------- -.. doxygengroup:: kapi-cpu-kernel-defined - :content-only: +.. doxygenfunction:: kapi::cpu::dispatch +.. doxygenfunction:: kapi::cpu::halt +.. doxygenfunction:: kapi::cpu::init +.. doxygenfunction:: kapi::cpu::current_id -Platform-defined API --------------------- +Classes +------- -.. doxygengroup:: kapi-cpu-platform-defined - :content-only: +.. doxygenstruct:: kapi::cpu::exception +.. doxygenstruct:: kapi::cpu::id + +Constants +--------- + +.. doxygenvariable:: kapi::cpu::invalid_id
\ No newline at end of file diff --git a/docs/kapi/devices.rst b/docs/kapi/devices.rst index c9853a1c..8b674e6e 100644 --- a/docs/kapi/devices.rst +++ b/docs/kapi/devices.rst @@ -1,17 +1,22 @@ Device Interface ================ -.. doxygengroup:: kapi-devices - :content-only: +.. toctree:: + :maxdepth: 1 + :caption: Contents: + :glob: -Kernel-defined API ------------------- + devices/* -.. doxygengroup:: kapi-devices-kernel-defined - :content-only: +API Reference +------------- -Platform-defined API --------------------- - -.. doxygengroup:: kapi-devices-platform-defined - :content-only: +.. doxygenfunction:: kapi::devices::init +.. doxygenfunction:: kapi::devices::get_root_bus +.. doxygenfunction:: kapi::devices::remove_device +.. doxygenfunction:: kapi::devices::publish_facet(kstd::shared_ptr<device>, kstd::string) +.. doxygenfunction:: kapi::devices::publish_facet(kstd::shared_ptr<device>, kstd::string, Facet *) +.. doxygenfunction:: kapi::devices::init_platform_drivers +.. doxygenfunction:: kapi::devices::init_platform_devices +.. doxygenfunction:: kapi::devices::discover_cpu_topology +.. doxygenfunction:: kapi::devices::get_cpu_bus
\ No newline at end of file diff --git a/docs/kapi/devices/busses.rst b/docs/kapi/devices/busses.rst new file mode 100644 index 00000000..22b3a79e --- /dev/null +++ b/docs/kapi/devices/busses.rst @@ -0,0 +1,2 @@ +Busses +======
\ No newline at end of file diff --git a/docs/kapi/interrupts.rst b/docs/kapi/interrupts.rst index 7150f076..f921b77e 100644 --- a/docs/kapi/interrupts.rst +++ b/docs/kapi/interrupts.rst @@ -1,17 +1,7 @@ Interrupt Interface =================== -.. doxygengroup:: kapi-interrupts - :content-only: +API Reference +------------- -Kernel-defined API ------------------- - -.. doxygengroup:: kapi-interrupts-kernel-defined - :content-only: - -Platform-defined API --------------------- - -.. doxygengroup:: kapi-interrupts-platform-defined - :content-only: +.. doxygenfile:: kapi/interrupts.hpp
\ No newline at end of file |
