Generate comprehensive documentation for all 173 source units and integrate mkdocs-material into the build toolchain. Documentation covers kernel core, x86 architecture, drivers, applications, and all subsystems with a tabbed navigation structure. - Add mkdocs.yml with material theme, mermaid support, and tabbed nav - Add doc/index.md landing page - Generate doc/src/ markdown for every Pascal unit in src/ - Reorganize planning docs into doc/planning/ - Add compat, lvglh, and toolchain doc sections - Update Dockerfile to install python3 and mkdocs-material (pinned <2) - Replace pasdoc-based compile_docs.sh with mkdocs build --strict - Add compile_docs.sh to the main build pipeline in compile.sh - Add deploy-docs step in .drone.yml with host volume mount to nginx - Add site/.gitkeep for build output directory
1.2 KiB
app.meminfo
Terminal command for displaying physical and heap memory statistics.
Overview
app.meminfo registers the MEMINFO shell command, which prints a summary of the system's memory state in three sections: Multiboot-reported memory ranges, Physical Memory Manager (PMM) block statistics, and Logical Memory Manager (LMM) heap statistics.
Dependencies
io.stdioarch.x86.multibootarch.x86.memory.physicalmemory.heapdebug.tracer
Functions and Procedures
init
procedure init();
Registers the MEMINFO command with io.stdio.
run (internal)
procedure run(Params: PParamList; stdin_buf, stdout_buf, stderr_buf: POutBuf);
Command entry point. Outputs three labelled sections:
Multiboot: Reads multibootinfo^.mem_lower and mem_upper to report lower memory, upper memory, and total memory in KB/MB.
PMM (4 MB blocks): Reads arch.x86.memory.physical.pmm_total_blocks, pmm_free_blocks, and derives used blocks. Reports free physical memory in MB.
LMM (Heap): Reads memory.heap.lmm_page_count and lmm_total_free. Reports heap size in MB and free heap in KB.
All output is written to stdout_buf.