android系统都有一个关机按键,长按这个按键系统会进行关机操作。具体实现流程如下:
在android层通过系统调用reboot(arg)调用内核中的sys_reboot,具体流程如下:
reboot——>sys_reboot()——>kernel_power_off()——>machine_power_off()——>pm_power_off();
pm_power_off 是一个函数指针,他指向和具体硬件平台相关的关机操作函数。
和sys_reboot相关的系统调用在source/kernel/sys.c中实现,然后在
source/asm-arm/unistd.h中添加系统调用号。
然后在source/arch/arm/kernel/entry-common.S中对sys_call_table(系统调用表)
进行定义,具体的表在source/arch/arm/kernel/call.S中实现。