Hi,
ich habe (demnächst) folgendes Problem:
Es geht um einen Ram-Test, der in reinem C geschrieben werden soll. Grundlage ist ein PowerPC.
Der Boot Loader startet den Ram-Test. Nun ist es so, dass das Testprogramm
ebenso im RAM liegt, also muss dieser Bereich geschützt werden, darf also
vom Programm nicht getestet werden, sonst würde es sich selbst überschreiben.
Deswegen ist es sinnvoll, zwei Tests durchzuführen und dabei das Programm
an einen anderen, bereits getesteten Bereich zu kopieren.
Das Problem liegt nun darin, wie man den Stack umkopiert, um mögliche
Inkonsistenzen zu vermeiden.
Derzeit wird folgendes gemacht:
1. sicherer Bereich getestet.
2. unsicherer Bereich inklusive Stack in sicheren kopiert (Funktion
CopyRAM). Damit wird dieser unsicher.
3. vormals unsicherer Bereich getestet.
Das Programm ist verschiebbar (reloctable). Allerdings scheinen im Stack
einige Zeiger zu sein, die auf den alten Bereich zeigen...
Wie muss man vorgehen, damit der Stack weiterhin funktioniert, also auf die
neuen Adressen zeigt?
Ich weiß, es ist eine sehr spezifische Frage, deswegen: Kennt ihr evtl. ein gutes Forum für diese Frage?
ich habe (demnächst) folgendes Problem:
Es geht um einen Ram-Test, der in reinem C geschrieben werden soll. Grundlage ist ein PowerPC.
Der Boot Loader startet den Ram-Test. Nun ist es so, dass das Testprogramm
ebenso im RAM liegt, also muss dieser Bereich geschützt werden, darf also
vom Programm nicht getestet werden, sonst würde es sich selbst überschreiben.
Deswegen ist es sinnvoll, zwei Tests durchzuführen und dabei das Programm
an einen anderen, bereits getesteten Bereich zu kopieren.
Das Problem liegt nun darin, wie man den Stack umkopiert, um mögliche
Inkonsistenzen zu vermeiden.
Derzeit wird folgendes gemacht:
1. sicherer Bereich getestet.
2. unsicherer Bereich inklusive Stack in sicheren kopiert (Funktion
CopyRAM). Damit wird dieser unsicher.
3. vormals unsicherer Bereich getestet.
Das Programm ist verschiebbar (reloctable). Allerdings scheinen im Stack
einige Zeiger zu sein, die auf den alten Bereich zeigen...
Wie muss man vorgehen, damit der Stack weiterhin funktioniert, also auf die
neuen Adressen zeigt?
Ich weiß, es ist eine sehr spezifische Frage, deswegen: Kennt ihr evtl. ein gutes Forum für diese Frage?