diskinfo
Keine Argumente.
diskinfo ruft den Kernel-Syscall nr=82 auf, der VfsDiskPrintInfoR3() ausführt. Diese Funktion liest die ATA-Gerätetabelle (DiskInit hat sie beim Boot gefüllt) und gibt für jede gefundene Disk eine Zeile aus.
Die Ausgabe läuft über vmm_op41 (Framebuffer + COM1) und ist damit während der Ring-3-Ausführung sichtbar — anders als ein normaler PrintStr, der in Ring-3 nur nach COM1 schreibt.
Ausgabe-Format:
[<disk_id>] <modellname> <MB> MB (<sektoren> sectors)
Beispiel:
lyx> diskinfo
[0] Primary Master 128 MB (262144 sectors)
[1] Primary Slave 256 MB (524288 sectors)
Disk-IDs beginnen bei 0. Die Reihenfolge entspricht der Erkennungsreihenfolge beim ATA-Probe (AtaProbe()).
| Feld | Wert |
|---|---|
| Syscall nr | 82 |
| Kernel-Funktion | VfsDiskPrintInfoR3() |
| Argumente | keine (a0, a1, a2 werden ignoriert) |
| Rückgabe | immer 0 |
| Ausgabe-Kanal | vmm_op41 (Framebuffer + COM1) |
Shell-Implementierung (shell/shell.lyx):
fn lyx_diskinfo(): int64 {
poke64(g_r3sc + R3_OFF_NR, 82);
return lyx_trigger();
}
fn cmd_diskinfo(): void {
lyx_diskinfo();
}
Wenn keine ATA-Laufwerke erkannt wurden (z.B. im Emulator ohne Disk-Image), gibt diskinfo keine Zeilen aus — nur einen leeren Prompt danach. Es gibt keine Fehlermeldung.