Round 335: Hwinfo ext, Inxi ext, Lstopo ext, Likwid ext, Mcelog ext (20 commands)

ober

9a24ff0f975d756fd60f20f4e27380ed05519740

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 12b4bfc..3a77b69 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 335 — Hwinfo ext, Inxi ext, Lstopo ext, Likwid ext, Mcelog ext
+
+| Feature | Status | Notes |
+|---|---|---|
+| hwinfo-all | :orange_circle: | Hwinfo: show all hardware info |
+| hwinfo-cpu | :orange_circle: | Hwinfo: CPU information |
+| hwinfo-disk | :orange_circle: | Hwinfo: disk information |
+| hwinfo-network | :orange_circle: | Hwinfo: network information |
+| inxi-system | :orange_circle: | Inxi: system summary |
+| inxi-cpu | :orange_circle: | Inxi: CPU details |
+| inxi-graphics | :orange_circle: | Inxi: graphics information |
+| inxi-audio | :orange_circle: | Inxi: audio information |
+| lstopo-show | :orange_circle: | Lstopo: show hardware topology |
+| lstopo-text | :orange_circle: | Lstopo: text topology output |
+| lstopo-xml | :orange_circle: | Lstopo: XML topology output |
+| lstopo-png | :orange_circle: | Lstopo: PNG topology output |
+| likwid-topology | :orange_circle: | Likwid: CPU topology |
+| likwid-perfctr | :orange_circle: | Likwid: performance counters |
+| likwid-pin | :orange_circle: | Likwid: pin threads to CPUs |
+| likwid-bench | :orange_circle: | Likwid: run benchmarks |
+| mcelog-show | :orange_circle: | Mcelog: show machine check events |
+| mcelog-daemon | :orange_circle: | Mcelog: daemon status |
+| mcelog-client | :orange_circle: | Mcelog: client query |
+| mcelog-triggers | :orange_circle: | Mcelog: showing trigger scripts |
+
 ### Round 334 — Lscpu ext, Lspci ext, Lsusb ext, Lshw ext, Dmidecode ext
 
 | Feature | Status | Notes |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 8eccb04..ed77f19 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -24785,4 +24785,54 @@
 
 (def (cmd-dmidecode-keyword app)
   (let* ((echo (app-state-echo app)))
-    (echo-message! echo "Dmidecode: listing keywords")))
\ No newline at end of file
+    (echo-message! echo "Dmidecode: listing keywords")))
+
+;;; Round 335 — Lstopo ext, Likwid ext, Mcelog ext (batch 2)
+
+(def (cmd-lstopo-xml app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lstopo: XML topology output")))
+
+(def (cmd-lstopo-png app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Output file: "
+      (lambda (file)
+        (echo-message! echo (str "Lstopo: saving PNG to " file))))))
+
+(def (cmd-likwid-topology app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Likwid: showing CPU topology")))
+
+(def (cmd-likwid-perfctr app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Group and command: "
+      (lambda (spec)
+        (echo-message! echo (str "Likwid: running perfctr " spec))))))
+
+(def (cmd-likwid-pin app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "CPUs and command: "
+      (lambda (spec)
+        (echo-message! echo (str "Likwid: pinning " spec))))))
+
+(def (cmd-likwid-bench app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Benchmark: "
+      (lambda (bench)
+        (echo-message! echo (str "Likwid: running benchmark " bench))))))
+
+(def (cmd-mcelog-show app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mcelog: showing machine check errors")))
+
+(def (cmd-mcelog-daemon app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mcelog: daemon status")))
+
+(def (cmd-mcelog-client app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mcelog: querying daemon")))
+
+(def (cmd-mcelog-triggers app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mcelog: showing trigger scripts")))
\ No newline at end of file
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index c1f967d..c45a8cd 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -25492,3 +25492,45 @@
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Lsusb: verbose USB listing")))
 
+;;; Round 335 — Hwinfo ext, Inxi ext, Lstopo ext, Likwid ext, Mcelog ext (batch 1)
+
+(def (cmd-hwinfo-all app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hwinfo: showing all hardware info")))
+
+(def (cmd-hwinfo-cpu app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hwinfo: showing CPU info")))
+
+(def (cmd-hwinfo-disk app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hwinfo: showing disk info")))
+
+(def (cmd-hwinfo-network app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hwinfo: showing network info")))
+
+(def (cmd-inxi-system app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Inxi: showing system info")))
+
+(def (cmd-inxi-cpu app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Inxi: showing CPU info")))
+
+(def (cmd-inxi-graphics app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Inxi: showing graphics info")))
+
+(def (cmd-inxi-audio app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Inxi: showing audio info")))
+
+(def (cmd-lstopo-show app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lstopo: showing hardware topology")))
+
+(def (cmd-lstopo-text app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lstopo: text topology output")))
+
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 022d9f3..51a6bb4 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -8452,4 +8452,26 @@
   (register-command! 'dmidecode-type cmd-dmidecode-type)
   (register-command! 'dmidecode-string cmd-dmidecode-string)
   (register-command! 'dmidecode-keyword cmd-dmidecode-keyword)
+
+  ;; Round 335 — Hwinfo ext, Inxi ext, Lstopo ext, Likwid ext, Mcelog ext
+  (register-command! 'hwinfo-all cmd-hwinfo-all)
+  (register-command! 'hwinfo-cpu cmd-hwinfo-cpu)
+  (register-command! 'hwinfo-disk cmd-hwinfo-disk)
+  (register-command! 'hwinfo-network cmd-hwinfo-network)
+  (register-command! 'inxi-system cmd-inxi-system)
+  (register-command! 'inxi-cpu cmd-inxi-cpu)
+  (register-command! 'inxi-graphics cmd-inxi-graphics)
+  (register-command! 'inxi-audio cmd-inxi-audio)
+  (register-command! 'lstopo-show cmd-lstopo-show)
+  (register-command! 'lstopo-text cmd-lstopo-text)
+  (register-command! 'lstopo-xml cmd-lstopo-xml)
+  (register-command! 'lstopo-png cmd-lstopo-png)
+  (register-command! 'likwid-topology cmd-likwid-topology)
+  (register-command! 'likwid-perfctr cmd-likwid-perfctr)
+  (register-command! 'likwid-pin cmd-likwid-pin)
+  (register-command! 'likwid-bench cmd-likwid-bench)
+  (register-command! 'mcelog-show cmd-mcelog-show)
+  (register-command! 'mcelog-daemon cmd-mcelog-daemon)
+  (register-command! 'mcelog-client cmd-mcelog-client)
+  (register-command! 'mcelog-triggers cmd-mcelog-triggers)
 )