Autor Thema: Allgemeine Fragen zu x86-64  (Gelesen 2048 mal)

Programm Noob

  • Gast
Gespeichert
« am: 05. September 2010, 00:28 »
Moin

Ich hab mal ein paar Fragen zu x86-64:

Frage 1: Was kann ich aus meinem 32 Bit Kernel in den neuen übernehmen?(Physische Speicherverwaltung, kprintf, idt, cpuid, multitasking(mit änderungen im paging), funktionen, zum CMOS auslesen)

Frage 2: Was muss ich auf jedenfall verändern oder neuschreibe?(GDT, Paging)

Frage 3: Was muss ich an der GDT ändern?

Frage 4: Wo gibt es ne schöne erklärung, wie Paging im Longmode funktioniert?

Programm Noob

FlashBurn

  • Beiträge: 844
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 05. September 2010, 08:34 »
Zu Frage 1, da würde ich mal die physische Speicherverwaltung rausnehmen. Ich weiß nicht was einen Algo du dafür nutzt, aber ansich geht man ja bei 32bit System von max 4GB RAM aus (was z.B. auf Servern nicht immer korrekt ist) und von daher wirst du dort wohl auch etwas anpassen müssen.
Genauso muss das IDT verändert werden (genauso wie das GDT). Interrupts sind sowieso ein wenig anders, Thema Red-Zone.

zu Frage 3+4, guck in den Intel Manuals nach und/oder bei den AMD Manuals.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #2 am: 06. September 2010, 11:23 »
Im osdev.org Wiki gibt es auch einen nützlichen Einsteigerartikel, der ein paar der Probleme, die man so mit seinem Compiler/Linker hat, löst, ansonsten wie schon gesagt wurde, wälzt du am besten die Manuals.

Zitat
Frage 3: Was muss ich an der GDT ändern?
Eine komplett neue GDT und auch komplett neue Funktionen zu deren Verwaltung.

Zitat
Frage 2: Was muss ich auf jedenfall verändern oder neuschreibe?(GDT, Paging)]Frage 2: Was muss ich auf jedenfall verändern oder neuschreibe?(GDT, Paging)
IDT, Interrupthandler, den lowlevel Multitaskingteil, den lowlevel Syscallteil (zumindest wenn man die Instruktion 'syscall' verwenden will, was sehr zu empfehlen ist), deine Makefiles (wegen anderer Compiler/Linkerflags) und dein Linkerscript (zumindest bei einem higher-half Kernel, was sehr zu empfehlen ist im Longmode)
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

 

Einloggen