To shutdown the CPU, it is just the command "halt" in assembly, but to
shutdown the system' powersupply, and all other component, nowdays it is
hardwired to ACPI, eg:

http://www.thinkwiki.org/wiki/How_to_make_APM_work

http://tuxmobil.org/apm_linux.html

http://www.linuxdocs.org/HOWTOs/mini/Battery-Powered-3.html

<http://forums.anandtech.com/showthread.php?t=487583>So without ACPI,  as
mentioned in URL above, alternative is APM.   Alternatively if u are talking
about SMM/SMI, yes, sounds logical, as that is how system can shutdown
itself after detecting overheating in motherboard (for example) -
temperature monitoring is part of SMM mode.   But I am not sure if u can
trigger SMI that specifically shutdown system or not. (software trigger for
SMI is possible ....port 0xb2)

http://en.wikipedia.org/wiki/System_Management_Mode

Do aware that Intel VT (VMM) can intercept these SMI too:

http://software.intel.com/en-us/forums/showthread.php?t=67301


On Wed, Jun 15, 2011 at 3:53 AM, limp <[email protected]> wrote:

> Hi all,
>
> I am trying to figure out the procedure that Linux follows for shutting
> down
> an x86 based system when ACPI is not used. From what I've found, when we
> try
> to shutdown the system from user-space, _reboot() system call is called
> with
> "LINUX_REBOOT_CMD_POWER_OFF" as argument. By tracking down the steps
> performed in the kernel when the aforementioned system call is involved, I
> ended up in kernel_power_off(), unlock_kernel(), and finaly do_exit()
> functions.
>
> The kernel_power_off() ultimately calls the  native_machine_shutdown() form
> which Linux disables LAPIC, I/O APIC, HPET, etc. Then, after calling the
> unlock_kernel(), the do_exit() is called for ultimately shutting down the
> system. In the end of this function, I can see that the processor enters an
> infinite loop from which it repeatedly executes NOP instructions. That is
> actually the behaviour that I experience when I am not using ACPI; the
> system is not actually turning off but it goes into an idle state.
>
> Is this how Linux should act when ACPI is not used? I would expect in this
> case Linux to invoke an SMI so that the appropriate SMI function actually
> shutdown the system but I can't see where (and if) that takes place.
>
> Any help will be greatly appreciated.
>
> John K.
>
>
> _______________________________________________
> Kernelnewbies mailing list
> [email protected]
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



-- 
Regards,
Peter Teoh
_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to