From 972604850cba9f777525ae68273cdffeb05a6866 Mon Sep 17 00:00:00 2001 From: hailin cai Date: Wed, 24 Feb 2016 11:47:03 -0500 Subject: [PATCH] Update Booting/linux-bootstrap-2.md --- Booting/linux-bootstrap-2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 Booting/linux-bootstrap-2.md diff --git a/Booting/linux-bootstrap-2.md b/Booting/linux-bootstrap-2.md old mode 100755 new mode 100644 index 1447c32..87b26a0 --- a/Booting/linux-bootstrap-2.md +++ b/Booting/linux-bootstrap-2.md @@ -519,7 +519,7 @@ static inline void set_fs(u16 seg) 接下来,内核调用`query_ist`方法获取[Intel SpeedStep](http://en.wikipedia.org/wiki/SpeedStep)信息。这个方法首先检查CPU类型,然后调用`0x15`中断获得这个信息并放入`boot_params`中。 -接下来,内核会调用[query_apm_bios](https://github.com/torvalds/linux/blob/master/arch/x86/boot/apm.c#L21) 方法从BIOS获得 [高级电源管理](http://en.wikipedia.org/wiki/Advanced_Power_Management) 信息。`query_apm_bios`也是调用`0x15`中断,只不过将`ax`设置成0x5300以得APM设置信息。中断调用返回之后,代码将检查`bx`和`cx`的值,如果`bx`不是`0x504d` ( PM 标记 ),或者`cx`不是0x02 (0x02,表示支持保护模式),那么代码直接返回错误。否则,将进行下面的步骤。 +接下来,内核会调用[query_apm_bios](https://github.com/torvalds/linux/blob/master/arch/x86/boot/apm.c#L21) 方法从BIOS获得 [高级电源管理](http://en.wikipedia.org/wiki/Advanced_Power_Management) 信息。`query_apm_bios`也是调用`0x15`中断,只不过将`ax`设置成`0x5300`以得APM设置信息。中断调用返回之后,代码将检查`bx`和`cx`的值,如果`bx`不是`0x504d` ( PM 标记 ),或者`cx`不是0x02 (0x02,表示支持保护模式),那么代码直接返回错误。否则,将进行下面的步骤。 接下来,代码使用`ax = 0x5304`来调用`0x15`中断,以断开`APM`接口;然后使用`ax = 0x5303`调用`0x15`中断,使用32位接口重新连接`APM`;最后使用`ax = 0x5300`调用`0x15`中断再次获取APM设置,然后将信息写入`boot_params.apm_bios_info`。