Autor Thema: Pagefault bei TSS-Switch  (Gelesen 4711 mal)

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« am: 22. March 2005, 10:44 »
hallo,

ich code momentan agressiv an TSS ;) hab etz routinen geschrieben, die mir 1024 TSS in der GDT und 1024 TSSGates in der GDT anlegen. hab etz das problem, dass ich von einem zum anderen task wechseln muss.
dazu hab ich einen systemtask (idle) und testweise noch einen 2. idle. der 2. hat als TSS-Werte (er ist ja inaktiv) das cr3 des kernels und die segmente des kernels und keine registerinhalte (0). wenn ich etz diesen starten will (mit "jmp 0x30:0x0000") dann bekomme ich ein pagefault mit dem errordword "0x1563". kA, weshalb. sieht so aus, als trete ein zugriffsfehler auf, deshalb handelt mein handler das auch so... ich verstehe nicht, warum das nicht geht, ich hoffe jemand kennt dieses phänomen...

mfg

J!N
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #1 am: 22. March 2005, 11:23 »
noch ne frage:

wie mache ich den switch überhaupt? ich hab gehört mit jmp solls gehen oder mit iret. mit iret müsste ich das NT-Flag setzen, dass ist doch das 17. bei einer zählung ab 0, oder? und dann müsste ich den backlink ändern... und bei dem jmp hab ich gemerkt, dass ich kein "jmp ax:0x0000" machen kann, wie soll ich es da machen?

mfg

J!N
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #2 am: 27. March 2005, 10:24 »
problem gelöst, hab ne falsche basisadresse angegeben.
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

 

Einloggen