was haben diese kernel panic Fehler bedeuten?
Ich insmod
kernel-Modul auf ARM-Plattform, und ich bekomme eine kernel panic, die bewirkt, dass diese drei Fehler werden gedruckt auf dem Bildschirm
Unhandled fault: external abort on non-linefetch (0x008)
Unhandled fault: imprecise external abort (0xc06)
-
Kernel panic - not syncing: Fatal exception in interrupt
- Was sind die Werte in den Klammern ?
- Was bedeutet
3
meine, Es klingt wie die Terminplanung während atomic, aber es ist
keine solche Sache in einem kernel-Modul.?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Werte in Klammern sind die
ifsr
(instruction fault status) registrieren. Es gibt viele Ursachen für Abbrüche und diese geben eine bestimmte Ursache. Es gibt einige Tabellen in den kernel, die mit bestimmten Fehlerursachen und die anderen haben eine Prozedur, die nichtprintk
und bricht ab, eine Aufgabe oder kannpanic()
den kernel. Siehe: arm/mm/fault.c. Der Wert ist wohl nicht wertvoll, es sei denn, Sie entwickeln ein fault handler. Obwohl es kann Ihnen eine Idee, was der Fehler ist etwa, es ist besser, nur um diePC
und Blick auf den code an der angegebenen Adresse (die ich denke, war schon gedruckt?).Diese Fehler können überall auftreten; in einem user-task, eine kernel-task oder ein
interrupt
hf usw. Da Ihrinterrupt
handler abgestürzt, Linux entscheidet sich halt alles und stört nicht weiter fortfahren. Sie könnten sonst beschädigt Festplatten (sogar mehr), etc.Hinweis: Jeder fault status register hat eine Abbruch.S - Datei, die verschiedene, für den jeweiligen ARM-CPU. Siehe zum Beispiel Abbruch-ev7.S
v7_early_abort
. Dies ist in einem Prozessor Tabelle, die abgestimmt ist auf die boot-Zeit.C
- Dateien. Siehe: fsr-2level.c und fsr-3level.c für die Tabellen, die anzeigenifsr
Funktion der Arten. Zumindest in 2.6.36, diese Tabellen wurden infault.c
. Ich nehme an, dass einige FSR-codes kann auf einehardware
Fehler im Vergleich zu einer un-mapped page; das ist die CPU (ie ARMV5, ARMV8, etc) abhängig.clk_prepare_enable()
.