Autor Thema: BDA in Qemu fehlerhaft?  (Gelesen 2155 mal)

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« am: 19. July 2010, 09:02 »
Hallo,

kann es sein, dass Qemu die BDA nicht richtig setzt?
Habe mir ein bda-struct aufgebaut, dass 0x400 ausliest und dort steht nur 0 drin.
Liegt das an meinem Kernel oder macht Qemu da irgendwelchen Mist?
Habe das struct so aufgebaut, wie es im Wiki steht.
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 19. July 2010, 09:42 »
Kannst du selber ausprobieren: Ein frisch gestarteter qemu ohne Festplatte und Kernel hat dort was drinstehen. Du hast es also vermutlich selbst überschrieben.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 19. July 2010, 16:12 »
Danke.
Komischerweise lag da die bss-Sektion
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #3 am: 19. July 2010, 16:24 »
Nur so interessehalber: Wie kam es denn dazu? .bss nicht im Linkerskript angegeben?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 19. July 2010, 17:56 »
Doch.
Es stand nur nicht in
.bss : AT(ADDR(,bss))
{
     *(.bss)
}
, sondern in
.data : AT(ADDR(,data))
{
     *(.data)
     *(.bss)
}

Da hat dann etwas nicht gepasst.
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

 

Einloggen