(toppers-users 4659) Re: TOPPERS/JSP i386環境でのTINETの実装について

毛利 慶伍 mouri @ witz-inc.co.jp
2017年 5月 17日 (水) 14:29:22 JST


ヴィッツの毛利です.

邑中様
回答ありがとうございます.

> なお、i386/pcat 時点の PC/AT アーキテクチャは SMP 前提ではなく、
> APIC は考慮されていません。
> 建前上、APIC が搭載されているボードでもリセット直後は PIC 互換になるはずで
> 回避できるはずです。
そうですか.
わかりました.

IA32_APIC_BASE MSRを読み出してみたところAPICは有効になっており,
LINTが8259互換モードになっていたので,
これまでのタイマ等の割り込みは偶然うまく行っていたようです.

> 具体的には APIC 対応が必要になりますが、参考資料は…
APIC対応が必用か,またはPICのみでの対応でどうにかなるかは,
もう少し調査と開発を進めて見ることにします.

もう一つお聞きしたいことが有るのですが,
IA32向けターゲット依存部内にtinet_sys_config.h等のTINETファイルは,
動作が確認できた当時のものでしょうか?
それとも動作確認前のものでしょうか?

以上,宜しくお願い致します.

On 2017/05/16 20:18, Masaki Muranaka wrote:
> こんばんは。
>
> たぶんおそらく、本件の中の人(ただし、過去のある時点において)です。
>
>> JSP1.4以降に対応したIA32ターゲット依存部はリリースされていません。
> あの頃は、TOPPERS/OSEK (ATK1) カーネルにとって最も大切な sg.exe を、
> 理事企業が、シラっとオープンソース化していないまま商売なさっていた時期ですね。
>
> i386/pcat の連中が、あれが許されている風景に対しかなりヤサグレていたので、
> TOPPERS 本家への無邪気なコントリビューションを、やんわり拒否していた時期です。
> なのでまあ、公式のコードに残っていないとするならば、そんな空気がもたらした
> 軽微な悲劇でしょう。オープンソース風ライセンスでは、よくあることです。
>
>
> ぐぐってみたら、JSP 単体では 1.4.3 が動作していたと思われる記録はあります。
> http://d.hatena.ne.jp/mitsu48/20080208
> 私の記憶とも整合しますので、1.4.3 は、少なくとも非公式版では動作しています。
>
> 加えて言うならば、1.4.3 ベースの TINET も、記憶が正しければ動いていたはずです。
> (おそらく NE2000 は動いている…はず)
> おそらく前述の理由から、TOPPERSの公式を追いかけても得るものは少なく、
> PizzaFactory3 辺りに含まれるコードのほうが JSP としては価値があるかもしれません。
> 当時の開発元が現存せず、コードベースが散逸してはおりますが…。
>
>
> なお、i386/pcat 時点の PC/AT アーキテクチャは SMP 前提ではなく、
> APIC は考慮されていません。
> 建前上、APIC が搭載されているボードでもリセット直後は PIC 互換になるはずで
> 回避できるはずです。
> しかし、BIOSやEFIが頑張っているボードの場合、逃げ道は限られます。
> 具体的には APIC 対応が必要になりますが、参考資料は…
>
>
>
> 2017年5月16日 16:56 yasuo kominami(nifty) <ykominami @ nifty.com>:
>> 株式会社ヴィッツ
>> 毛利様
>>
>> TOPPERSプロジェクト個人会員の小南です。
>> お求めの情報そのものではなく、確認させてもらいたいという趣旨のメールになります。
>>
>> JSPのIA32ターゲット依存部は、2002年リリースのJSP1.3に含まれていましたが、
>> 2003年リリースのJSP1.4からは含まれていません。
>> JSP1.4.4.1と書かれているのは2014年リリースの完全版のほうだと思われます。
>>
>> https://www.toppers.jp/jsp-download.html
>>
>> 完全版は動作を保証するものではなく、1.4.4.1リリース時点でTOPPERSプロジェクト
>> としてメンテナンスしている、していないにかかわらず、動くかもしれないと思われる
>> ものも含めています。
>> 要は、過去リリースしたものを片っ端からダウンロードして探す手間を省けるとうい
>> う程度のものです。
>> JSP1.4以降に対応したIA32ターゲット依存部はリリースされていません。
>>
>> TINETといえば、最近CQ出版から刊行された「TECHI Embedded Software vol56 全部
>> ネット接続!Ethernetマイコン・プログラミング」にインタフェース誌の掲載された
>> TINETの記事の再録+最新状況についてのコラムがあります。
>> ただこれらの記事もTINET 1.2以降が対象です。
>>
>> 「IA32上でTINETの動作を確認した」という情報はあったとしてもかなり古い時点での
>> ものではないかと思います。
>> あったとして、「JSP1.3 + TINET1.1.1」ぐらいの組み合わせかもしれません。
>>
>>
>> 2017-05-16 15:58 GMT+09:00 毛利 慶伍 <mouri @ witz-inc.co.jp>:
>>> 株式会社ヴィッツの毛利と申します.
>>>
>>> 現在,i386をターゲットとした
>>> TOPPERS/JSP&TINETの実装を行っております.
>>>
>>> JSPにはIA32向けターゲット依存部が既に存在しており,
>>> TINETの依存部ファイルも含まれていました.
>>> これを用いて,sampleのechoを動かそうとしましたが,
>>> INHNO_IF_EDの定義が存在しないとのエラーが発生しました.
>>> INHNO_IF_EDにはLANの割込みに対応するIRQを設定するものだと考えております.
>>>
>>> そこで疑問なのですが,現在のIA32向けターゲット依存部では,
>>> 割込みは16口分(interrupt0~15)が実装されておりました.
>>> しかし,ターゲットの説明書には,
>>> LANの割込みはIRQ19に対応との記載がありました.
>>> おそらく,現在の実装はPICでの動作前提であり,
>>> ターゲットの動作にはAPICでの設定が必要と考えております.
>>>
>>> 以前,こちらのメーリングリストにてIA32上でTINETの動作を
>>> 確認したとの記載がありました.
>>> その際のJSP上で行いましたPIC,APICの動作設定について,
>>> ご教授いただけませんでしょうか.
>>>
>>> 環境は,
>>>  TOPPERS/JSP 1.4.4.1
>>>  TINET 1.1.1
>>>  ターゲット:i386-pcat
>>> となっております.
>>>
>>> よろしくお願いいたします.
>>>
>>> --
>>>   -----------------------------------------
>>>   株式会社ヴィッツ
>>>   高信頼性PF開発部
>>>    毛利 慶伍 (Mouri Keigo)
>>>         Mail:mouri @ witz-inc.co.jp
>>>         TEL:052-220-1218
>>>   -----------------------------------------
>>>
>>>

-- 
  -----------------------------------------
  株式会社ヴィッツ
   高信頼性PF開発部
    毛利 慶伍 (Mouri Keigo)
        Mail:mouri @ witz-inc.co.jp
        TEL:052-220-1218
  -----------------------------------------