zoukankan      html  css  js  c++  java
  • bochs: ICW1:level sensitive mode not supported 沉沉_

    最近在用bochs虚拟机写一些裸奔程序,做到时钟实验这部分时开启了定时器中断,一运行就提示:ICW1:level sensitive mode not supported.

    google 了一下,从bochs的源代码上可以看出来:这种错误出现在:

    View Code
     1 void bx_pic_c::write(Bit32u address, Bit32u value, unsigned io_len)
     2 {
     3         .........
     4         switch (address) {
     5            ......
     6            case 0x20: 
     7                   if (value & 0x08) {
     8                        BX_PANIC(("master: ICW1: level sensitive mode not supported"));
     9                   }
    10             .....
    11              case 0x80: 
    12                   if (value & 0x08) {
    13                        BX_PANIC(("master: ICW1: level sensitive mode not supported"));
    14                   }
    15             .....
    16         }
    17         ..............
    18                     
    19 }
    View Code
    从上述代码中可以看出,是往0x20 和 0xA0 端口写的值bit3(第四个位)为1 所导致的。所以我检查代码,果然发现在定时器的中断处理程序中,本来往OCW2中写入0x60,给CPU发送EOI,让我写成了60,即16进制的0x3c, bit3 为1,所以提示这个错误。
  • 相关阅读:
    git 初始化与使用
    java解析webservice服务返回的xml
    计算时间天数
    XML和Java bean转换
    微信公众号-企业
    docker安装openldap
    webservice使用
    idea解决冲突插件
    Java--JSON嵌套JSON中带''字符的解决方式
    微信公众号开发
  • 原文地址:https://www.cnblogs.com/chenchenluo/p/2779763.html
Copyright © 2011-2022 走看看