Autor Thema: PFLASH: Possible BUG - Write block confirm  (Gelesen 4882 mal)

MrTom3715

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« am: 21. June 2013, 16:14 »
Hallo,

ich habe mal wieder ein Problem...

Ich habe es jetzt geschaft die Tastatur zu aktivieren, aber wenn ich eine Endlosschleife mit einer Abfrage von Port 0x60 programmmiere, entsteht folgender Error:

PFLASH: Possible BUG - Write block confirm

Qemu stürzt einfach ab.

Hier ist mein Log:
http://pastebin.com/EF2F58eQ

Ich kenne mich leider nicht mit dem Auswerten eines QEMU-Logs aus.

Kann mir jemand sagen wo mein Fehler liegen könnte?
An der Schleife liegt es definitiv nicht.


MrTom3715

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #1 am: 21. June 2013, 16:22 »
Ohne Code wohl nicht.
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

MrTom3715

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 21. June 2013, 16:23 »
Welchen Code bräuchtest du denn?
Den von der While-Schleife?

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #3 am: 21. June 2013, 16:40 »
Wäre ein Anfang, je mehr Code, desto mehr Kontext, desto besser.
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

MrTom3715

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 22. June 2013, 11:05 »
Hier mal mein ganzer Code:

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 22. June 2013, 14:42 »
In tasks_a hast du 60 statt 0x60 geschrieben. Aber der eigentliche Fehler ist, dass du init_multitasking nicht aufrufst.
Dieser Text wird unter jedem Beitrag angezeigt.

MrTom3715

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 22. June 2013, 14:46 »
Das ist beabsichtigt.
Ich habe zuerst versucht ohne Multitasking zu arbeiten.
Die Tastatur wird auch erfolgreich gestartet und löst ein Interrupt aus, aber wenn ich eine Taste drücke müsste auf dem Bildschirm erscheinen, dass es einen Interrupt 0x21 gibt. Dieser wird aber nicht ausgelöst.

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 22. June 2013, 14:48 »
Das ist beabsichtigt.
Ich habe zuerst versucht ohne Multitasking zu arbeiten.
Dann solltest du nicht versuchen in schedule den Task zu wechseln.
Dieser Text wird unter jedem Beitrag angezeigt.

MrTom3715

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 22. June 2013, 14:55 »
Diesen Befehl habe ich jetzt schon entfernt.

Leider funktioniert es immer noch nicht. Ich bekomme immernoch keine Interrupts von der Tastatur.

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 22. June 2013, 14:58 »
Löst das denn wenigstens den Crash?

Du musst bei jedem Tastatur-Interrupt Port 0x60 lesen, damit die Tastatur weitere IRQs sendet.
Dieser Text wird unter jedem Beitrag angezeigt.

MrTom3715

  • Beiträge: 38
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 22. June 2013, 15:07 »
Problem gelößt! :-)

Qemu crasht nicht mehr.

Ich hatte die Port 0x60 Abfrage in der main(), nun habe ich sie in den Interrupt-Handler gesteckt und siehe da: Es funktioniert.

 

Einloggen