Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: JG am 28. February 2005, 15:54

Titel: Reboot unnd Ausschalten im pm
Beitrag von: JG am 28. February 2005, 15:54
Hallo,
wie kann ich im PM den Rechner neustarten und ausschalten?
Danke schon mal!
Titel: Reboot unnd Ausschalten im pm
Beitrag von: joachim_neu am 28. February 2005, 20:57
hm... also rebooten fällt mir nur 1 ein: doublefault erzeugen und den handler schrottig machen=>tripplefault=>reboot  :lol:
Titel: Reboot unnd Ausschalten im pm
Beitrag von: stultus am 28. February 2005, 21:48
gibts dafür nich biosints? wenn ja, einfach in rm zurückschalten und ausführen...
Titel: Reboot unnd Ausschalten im pm
Beitrag von: Paul am 28. February 2005, 22:40
Moin, hier mal ein Auszug aus meinem Kernelcode

MOV AX,0x5300                ;APM powerdown
XOR BX,BX
INT 0x15
MOV AX,0x5304
XOR BX, BX
INT 0x15
MOV AX,0x5301
XOR BX, BX
INT 0x15
MOV AX,0x5307
MOV BX,1
MOV CX,3
INT 0x15

MOV AX, 0040h                ;cold reboot
MOV ES, AX
MOV WORD [ES:00072h], 0h
JMP 0FFFFh:0000h

MOV AX, 0040h                ;warm reboot
MOV ES, AX
MOV WORD [ES:00072h], 01234h
JMP 0FFFFh:0000h


Allerdings denke ich, dass dir der Code im PMode nicht viel nützen wird
Titel: Reboot unnd Ausschalten im pm
Beitrag von: TPSeverino am 01. March 2005, 10:25
Da du nach nem Reboot (nach dem Ausschalten sowieso) den PMode eh neu laden musst, kannst du wie bereits vorgeschlagen in den RM zurückschalten und die BIOS-Ints benutzen... So mach ich das auf jeden Fall...
Titel: Reboot unnd Ausschalten im pm
Beitrag von: JG am 01. March 2005, 14:10
ja, danke
Titel: Reboot unnd Ausschalten im pm
Beitrag von: Roshl am 01. March 2005, 17:16
Man könnte es auch ganz einfach über den Tastaturcontroller machen. Der ist nämlich dafür auch da. Gibt einen extra Befehl der die Reset-Leitung der CPU setzt. Viel Spass beim Suchen^^
Doublefault ist relativ unelegant, und in den RM zurückschalten ist auch Speicherverschwendung, da man ja die ganze Zeit die BIOS-Bereiche nicht verändern darf und mitschleifen muss.
Titel: Reboot unnd Ausschalten im pm
Beitrag von: JG am 01. March 2005, 19:28
Ind wo such ich da amm besten?
Titel: Reboot unnd Ausschalten im pm
Beitrag von: Roshl am 01. March 2005, 19:36
Hab einfach mal gegoogelt Keyboard reboot 0x60 (Der keyboard port)
und tada gefunden. So einfach ist das, nichtmal ne Minute;)
Zitat:
Command 0xfe:  System reset

    Pulse bit 0 of the output port P2 of the keyboard controller. This will reset the CPU.

also einfach 0xfe als Command an das Keyboard schicken und wir haben einen Reboot
Titel: Reboot unnd Ausschalten im pm
Beitrag von: joachim_neu am 01. March 2005, 19:39
Zitat von: Roshl
Man könnte es auch ganz einfach über den Tastaturcontroller machen. Der ist nämlich dafür auch da. Gibt einen extra Befehl der die Reset-Leitung der CPU setzt. Viel Spass beim Suchen^^
Doublefault ist relativ unelegant, und in den RM zurückschalten ist auch Speicherverschwendung, da man ja die ganze Zeit die BIOS-Bereiche nicht verändern darf und mitschleifen muss.


naja, die bereiche sin meinstens ROMs und da rumzufuchteln: Ne, danke. die lass ich lieber, wie sie sin. ich finde doublefault am besten und einfachsten. das mit dem tastaturdings is aber am schönsten ;-)
Titel: Reboot unnd Ausschalten im pm
Beitrag von: JG am 01. March 2005, 19:51
Dannke und giibt es auch was zum Herunterfahren?
Titel: Reboot unnd Ausschalten im pm
Beitrag von: Paul am 01. March 2005, 20:08
Oben im Code den Block wo APM powerdown dransteht nehmen :roll:
Titel: Reboot unnd Ausschalten im pm
Beitrag von: elfish_rider am 01. March 2005, 20:08
Was meinst du mit Herunterfahren? Das ist jedem System überlassen, wie es das handhabt. Bei DOS kann man den PC aus der Konsole abschalten. Bei den meisten Multitasking-OS müssen mindestens die Geräte (Festplatte etc.) deaktiviert werden, dass es keine Schäden gibt, sonst kannst du den PC wann immer du willst aussschalten.
Titel: Reboot unnd Ausschalten im pm
Beitrag von: JG am 01. March 2005, 20:15
@ICC: Ich will aber nicht extra in den rm schalten...
@elfish_rider: Ich meine, das sich das System abschaltet und man nicht auf den schalter drücken muss