(toppers-users 4577) Re: SafeG - ノントラストOSの再起動について

Shinya Honda honda @ ertl.jp
2016年 7月 15日 (金) 16:17:44 JST


建部さん

本田です.

基本的な流れは次のようになります.

1.全コアFMP側に処理を切り替える
2.NS側のu-bootをロードし直す.
3.コア0以外はNS Linuxからの起動指示待ちとする.
4.コア0でNS側のu-bootを実行するようNS側のPCを変更する.
5.コア0はNSに遷移
6.NS側のu-booからNS側のlinuxを起動

という流れになります.Linuxのデバドラはcoldブートを前提に書かれているた 
め,6で初期化ミスをおこす場合はあります.その際にはLinux側のドライバの 
初期化処理を変更するか,2,3,4でFMP側からデバイスをリセット等してあげる必 
要があります.

以上,よろしくお願いします.

On 2016/07/15 12:50, Yoshitaka Takebe wrote:
> 本田様
>
> 建部です。
>
> ご回答ありがとうございます。
>
> safeg_syscall_restartnt()で、NT側のコンテキスト情報の"PC"に、
> NT側の開始アドレスを設定していたので、
> NT側にタスクを切り替えれば、NT側は起動(Start)からやり直される、
> と思っていたのですが、それだけではダメ、ということですね。
>
> すみませんが、"target_do_reboot()"は、どのような実装をすれば
> よいのでしょうか?
>
> このような質問ばかりですみません。
> よろしくお願いいたします。
>
> 以上です。
>
> -----------------------返信元のメール-----------------------
> Fri, 15 Jul 2016 12:23:23 +0900From:     Shinya Honda <honda @ ertl.jp>
> To:       users @ toppers.jp
> Cc:       takebe @ sec.co.jp
> Subject:  Re: (toppers-users 4574) SafeG - ノントラストOSの再起動について
> 日時:     2016/07/15(金) 12:23:23
>
>
>> 建部さん
>>
>> 本田です.
>>
>> safeg_syscall_restarnt() はターゲット毎に実装する必要があります.
>> i.mx6に関しては再起動処理は実装されていないので,実装していただく必要があります.
>>
>> 以上,よろしくお願いします.
>>
>> On 2016/07/15 11:12, Yoshitaka Takebe wrote:
>>> セックの建部です。
>>>
>>> 最近、多投しており、申し訳ございません。
>>>
>>> 再度、SafeGまわりで質問させて頂きたいと思います。
>>>
>>>
>>> "safeg_syscall_restarnt()"をトラスト側から呼ぶと、
>>> ノントラスト側のアプリケーションを再起動できると思いますが、
>>> この機能を試してみたところ、ノントラスト側が再起動いたしません。
>>>
>>> 使い方や前提条件が誤っているでしょうか?
>>> チェックポイントなど、教えて頂ければ幸いです。
>>>
>>>
>>> 実行環境:i.MX6のCPUボード(MCIMX6-SDB)
>>>
>>> 実行しているプログラムの内容:
>>>
>>>   ・"shared_mem"サンプルを拡張して試しました。
>>>
>>>   ・トラスト側で、起動後10秒後(10回目の周期タスク起動時)に、
>>>     "safeg_syscall_restartnt()"、"target_do_reboot()"を呼び出す
>>>     ようにしました。
>>>
>>>     ※ "target_do_reboot()"関数は、空関数ですが、ここに何か実装する必要は
>>>        ありましたでしょうか?
>>>
>>>   ・safeg_syscall_restartnt()の呼び出しまでは、NT側で書き込みを行う
>>>     メモリ領域の内容が改変されましたが、
>>>     safeg_syscall_restartnt()呼び出し以降、その領域が"0"になりました。
>>>
>>>     ※ この領域がなぜ"0"になるのか、も疑問となっている点です。
>>>        メモリマップとしては、マニュアルの手順に沿って、以下のように配置しています。
>>>
>>>        ノントラスト: 0x17800000
>>>        monitor     : 0x4f000000
>>>        トラスト    : 0x4f100000
>>>        共有メモリ  : 0x4f800000 (=TARGET_COM_SHMEM_ADDRESS)
>>>
>>>
>>>   ・トラスト側のプログラムは、"safeg_syscall_restartnt()"呼び出し後も動作しています。
>>>     (UARTのコンソールで確認)
>>>
>>>
>>>
>>> すみませんが、よろしくお願いします。
>>>
>>> 以上です。
>>>
>
>
>
> ======================================================================
>     建部  貴隆 ( Yoshitaka Takebe )
>
>     株式会社セック  開発本部  第四開発部 (宇宙先端システム担当)
>
>     ADR    : 東京都世田谷区用賀4-10-1 世田谷ビジネススクエア
>     TEL    : 03-5491-4404
>     FAX    : 03-5491-4771
>     E-Mail : takebe @ sec.co.jp
> ----------------------------------------------------------------------
>
> この電子メールの内容および添付されている情報は、機密情報であると同時に、
> 宛先として意図した特定の受信者のみに送信いたしております。当方の誤送信
> 等により、心当たりのない方が受信された場合は、大変お手数ですが、受信さ
> れましたメール内容は削除していただきますようお願いいたします。
> ======================================================================
>