(toppers-users 1166) Windows依存部の不具合報告

Takayuki WAKABAYASHI takayuki @ ertl.jp
2003年 9月 3日 (水) 14:16:27 JST


豊橋技術科学大学の若林です。

TOPPERS/JSP Windows依存部に次の不具合が見つかりました。
問題はWindows依存部のみにあり、カーネル共通部には無関係です。

・ディスパッチ禁止状態中に割込みが発生すると、
    禁止状態であってもタスクディスパッチが発生する

この不具合を含むバージョンは次の通りです。
  TOPPERS/JSP release 1.3 (公式配布パッケージ)
  TOPPERS/JSP prerelease 1.4
  TOPPERS/JSP 1.4 prerelease β2 (DesignWave誌付録)
  TOPPERS/JSP 1.4 prerelease β3
  TOPPERS/JSP Windows(CYGWIN) 1.4 prerelease β4

不具合を修正するには、パッチを使用するか、手動にてソースを修正します。
パッチ(+差分ファイル)は次のURLから取得できます。
  http://www.ertl.jp/~takayuki/temporary/patch-20030903.zip

手動で修正される場合、下記の内容をご参考ください。
 # jsp1.4β3, β4はパッチを取得してください

---8<--- 修正方法 ---8<---

1. エディタでjsp/config/windows/cpu_defs.cを開きます。
2. 次の修正を加えます。
    cpu_defs.c:43に次の2行を追加
        #include <jsp_kernel.h>
        #include <task.h>

    cpu_defs.c:108の "ディスパッチルーチンの起動" 箇所を次のように修正
    ---8<---
        if(i != 0)
            HALInterruptRequestAndWait(0);
        else {
            if(_kernel_reqflg != 0) {
                _kernel_reqflg = 0;
                HALDispatchRequest(NULL);
            }
            else
                HALDispatchRequest(_kernel_runtsk);
        }
    ---8<---

以上、よろしくお願いします。
--------
豊橋技術科学大学 工学研究科 電子情報工学専攻
  若林 隆行 (mailto:takayuki @ ertl.jp)