llxmars的个人空间 https://blog.eetop.cn/193015 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

调试linux0.12出现信息“HD controller not ready”的解决方法

已有 3626 次阅读| 2011-2-9 23:48

文件系统的制作过程:
1). 分区;
2). 创建文件系统;

3). 在文件系统中建立一些常规目录,并复制系统和你需要的文件。

使用 bochs-2.2.X及以上新版本运行Linux 0.1x时,若在配置文件中只配置了一个硬盘映像文件,出现信息“HD controller not ready”而不能运行的解决方法。
答:可以对linux/kernel/blk_drv/hd.c稍加修改(2条语句)就能克服这个问题。
  对于Linux 0.12修改方法是:
原来语句:
163 int retries=10000;
165 while (--retries && (inb_p(HD_STATUS)&0xc0)!=0x40);
修改为
163 int retries=100000;

165 while (--retries && (inb_p(HD_STATUS)&0x80));

理由是:驱动器是否就绪与控制器的状态无关,我们只需要检测状态寄存器忙位是否为1即可,不需要管就绪位。   


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 2

    评论
  • 974

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-13 20:10 , Processed in 0.015773 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部