minix/docs/doxygen_html/html
google-labs-jules[bot] acfb8ad154 feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality
This commit delivers a comprehensive set of updates including development
environment setup, advanced spinlock features, initial IPC robustness
KASSERTs, extensive Doxygen commenting, code formatting, and Doxygen setup.

Key Changes:

Part 0: Development Environment Setup
- Created `setup.sh` to automate installation of `doxygen`, `graphviz`,
  `clang-format`, and `cppcheck`. (Tools were installed in the environment).

Part 1: Advanced Spinlock Features
- Enhanced `simple_spin_lock()` in `kernel/k_spinlock.h` with:
    - Adaptive spinning: `MAX_SPIN_THRESHOLD` and a stubbed `kernel_yield()`
      (calling `arch_pause()`).
    - Contention statistics: `acquisitions` and `contentions` counters
      added to `simple_spinlock_t` and integrated into lock functions.
- Added extensive Doxygen and inline comments for all spinlock code.
- Updated `docs/Signal_Refactoring_Verification.md` with these features.

Part 2: Initial IPC Robustness Analysis & KASSERTs
- Implemented an initial set of KASSERTs in `kernel/system.c` (in
  `kernel_call`, `kernel_call_dispatch`, `kernel_call_finish`) for
  validating IPC message parameters, call numbers, privileges, and
  internal states.
- Added Doxygen/inline comments to these IPC functions.
- Created `docs/IPC_Robustness_Analysis.md` documenting these KASSERTs
  and areas for further IPC validation.

Part 3: Code Formatting, Doxygen Setup & Review
- Code Formatting: Applied `clang-format --style=Google` to all C/H
  files modified in recent KASSERT and spinlock work.
- Static Analysis: Ran `cppcheck`; no critical issues found in recent
  changes requiring immediate code modification.
- Doxygen Setup: Created `docs/Doxyfile.kernel` with a comprehensive,
  C23-aware configuration based on your feedback. This file enables
  generation of extensive kernel documentation.
- `docs/Lock_Ordering.md`: Reviewed; no updates needed in this pass.

This work significantly improves kernel robustness, developer tooling,
code quality, and documentation infrastructure.
2025-06-08 00:40:50 +00:00
..
search feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
annotated.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
bc_s.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
bc_sd.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
classes.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
closed.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
dir_207bf8c12f5ffd71867b262b7e0c4f41.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
dir_a593f8436b1bc29ffa99b7ee170e7ac1_dep.map feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
dir_a593f8436b1bc29ffa99b7ee170e7ac1_dep.md5 feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
dir_a593f8436b1bc29ffa99b7ee170e7ac1_dep.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
dir_a593f8436b1bc29ffa99b7ee170e7ac1.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
doc.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
docd.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
doxygen.css feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
doxygen.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
dynsections.js feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
files.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
folderclosed.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
folderclosedd.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
folderopen.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
folderopend.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
functions_vars.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
functions.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
globals_defs.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
globals_func.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
globals.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
graph_legend.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
graph_legend.md5 feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
graph_legend.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
index.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
jquery.js feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
k__spinlock_8h__incl.map feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
k__spinlock_8h__incl.md5 feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
k__spinlock_8h__incl.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
k__spinlock_8h_source.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
k__spinlock_8h.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
menu.js feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
menudata.js feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
minus.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
minusd.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
nav_f.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
nav_fd.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
nav_g.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
nav_h.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
nav_hd.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
open.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
plus.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
plusd.svg feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
splitbar.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
splitbard.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
structsimple__spinlock__t-members.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
structsimple__spinlock__t.html feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
sync_off.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
sync_on.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tab_a.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tab_ad.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tab_b.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tab_bd.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tab_h.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tab_hd.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tab_s.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tab_sd.png feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00
tabs.css feat: Dev tools, advanced spinlocks, IPC KASSERTs, docs & quality 2025-06-08 00:40:50 +00:00