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

Yoshitaka Takebe takebe @ sec.co.jp
2016年 7月 15日 (金) 16:37:07 JST


本田様

建部です。

ご回答ありがとうございます。

Power on resetで実行されるU-Bootと同じことを、
このタイミングで実施する必要がある、という理解をしました。

確かに、初期値のあるデータテーブルのことを考えると、
NT側のプログラムカウンタだけ動かしても、正しく動作しないでしょうね。

NT_OS側は、今はTOPPERS/FMPを利用したサンプルを使用していますが、
この場合も同様のことだと思いますので、
試してみます。ありがとうございました。


以上です。

-----------------------返信元のメール-----------------------
Fri, 15 Jul 2016 16:17:44 +0900From:     Shinya Honda <honda @ ertl.jp>
Reply-To: users @ toppers.jp
To:       users @ toppers.jp
Subject:  (toppers-users 4577) Re: SafeG - ノントラストOSの再起動について
日時:     2016/07/15(金) 16:17:44


>建部さん
>
>本田です.
>
>基本的な流れは次のようになります.
>
>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
>> ----------------------------------------------------------------------
>>
>> この電子メールの内容および添付されている情報は、機密情報であると同時に、
>> 宛先として意図した特定の受信者のみに送信いたしております。当方の誤送信
>> 等により、心当たりのない方が受信された場合は、大変お手数ですが、受信さ
>> れましたメール内容は削除していただきますようお願いいたします。
>> ======================================================================
>>


======================================================================
    建部  貴隆 ( Yoshitaka Takebe )
    
    株式会社セック  開発本部  第四開発部 (宇宙先端システム担当)
    
    ADR    : 東京都世田谷区用賀4-10-1 世田谷ビジネススクエア
    TEL    : 03-5491-4404
    FAX    : 03-5491-4771
    E-Mail : takebe @ sec.co.jp
----------------------------------------------------------------------

この電子メールの内容および添付されている情報は、機密情報であると同時に、
宛先として意図した特定の受信者のみに送信いたしております。当方の誤送信
等により、心当たりのない方が受信された場合は、大変お手数ですが、受信さ
れましたメール内容は削除していただきますようお願いいたします。
======================================================================