Über APM (BIOS) oder über ACPI. Ersteres verwendet BIOS-Interrupts, d.h. ist Real-Mode bzw. Virtual-8086-Mode only, und letzteres steht in der gigantischen ACPI-Spec.
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
Über den Virtual-8086-Mode (ist ein Untermodus des Protected-Mode) mit APM schon, ansonsten würde ich sagen Nein, nicht mit vertretbarem Aufwand.
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
Ich wollte in dem anderen Post nur sagen, dass ACPI etwas zuviel Aufwand ist für ein Hobby-Betriebssystem. Das Microsoft ein paar mehr Entwickler, Test-PCs, etc.. zur Verfügung hat sollte klar sein.
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
Man muss ja nicht den ganzen ACPI dekodieren. Es reicht sich die nötigen Informationen rauszusuchen. Im englischsprachigem Forum gibt es dazu einen guten Eintrag http://forum.osdev.org/viewtopic.php?t=16990, den man selbst in seinem Hobby-Betriebssystem umsetzen kann. Ansonsten gibt es noch Open-source Projekte, die zur Aufgabe haben, den ACPI zu dekodieren. Man könnte versuchen eins davon zu rüberzuporten.
Wenn man einfach nur den Computer ausschalten möchte, dann kann ich wirklich den von tarrox empfohlenen Thread empfehlen. Ich habe den Code ausprobiert und muss sagen, es war ziemlich einfach, ihn zu portieren.