当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 为什么启动后到BIOS-provided physical RAM map就停住了?
帖子发表于 : 2007-10-02 14:09 

注册: 2007-03-15 14:27
帖子: 38
送出感谢: 0 次
接收感谢: 0 次
为什么启动后到BIOS-provided physical RAM map就停住了?
屏幕显示
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 – 000000000009F800 (usable)
BIOS-e820: 00000000000009f800-00000000000a0000 (reserved)
.
.
.
BIOS-e820: 000000000fffe0000-0000001000000000 (reserved)

然后就卡住了,打印出来显示在copy_edd()前就停住了

ARCH_SETUP /* x86系列没有任何的动作 */
if (efi_enabled)
efi_init();
else {
printk(KERN_INFO "BIOS-provided physical RAM map:\n");
print_memory_map(machine_specific_memory_setup()); /* 处理内存图,最后保存在e820中 */
}

copy_edd(); /* 复制增强磁盘参数(来之setup自检信息),实验性质,CONFIG_EDD */


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-10-02 15:14 

注册: 2007-03-15 14:27
帖子: 38
送出感谢: 0 次
接收感谢: 0 次
static void __init print_memory_map(char *who)
{
int i;

for (i = 0; i < e820.nr_map; i++) {
printk(" %s: %016Lx - %016Lx ", who,
e820.map[i].addr,
e820.map[i].addr + e820.map[i].size);
switch (e820.map[i].type) {
case E820_RAM: printk("(usable)\n");
break;
case E820_RESERVED:
printk("(reserved)\n");
break;
case E820_ACPI:
printk("(ACPI data)\n");
break;
case E820_NVS:
printk("(ACPI NVS)\n");
break;
default: printk("type %lu\n", e820.map[i].type);
break;
}
}
}

打印出来e820.nr_map的大小为11,循环到10就停了


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译