JP2006506751A - 安全モードと非安全モードとを切り換えるプロセッサ - Google Patents
安全モードと非安全モードとを切り換えるプロセッサ Download PDFInfo
- Publication number
- JP2006506751A JP2006506751A JP2004570292A JP2004570292A JP2006506751A JP 2006506751 A JP2006506751 A JP 2006506751A JP 2004570292 A JP2004570292 A JP 2004570292A JP 2004570292 A JP2004570292 A JP 2004570292A JP 2006506751 A JP2006506751 A JP 2006506751A
- Authority
- JP
- Japan
- Prior art keywords
- mode
- safety
- safe
- secure
- monitor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 108
- 231100000279 safety data Toxicity 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 177
- 230000008569 process Effects 0.000 claims description 96
- 239000013598 vector Substances 0.000 claims description 76
- 230000008859 change Effects 0.000 claims description 20
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 115
- 238000005192 partition Methods 0.000 description 93
- 238000013519 translation Methods 0.000 description 36
- 238000012544 monitoring process Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 14
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 14
- 238000013507 mapping Methods 0.000 description 13
- 238000003860 storage Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical group [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 9
- 238000013459 approach Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 102100033265 Integrator complex subunit 2 Human genes 0.000 description 7
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 7
- 229910052799 carbon Inorganic materials 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 4
- 206010000210 abortion Diseases 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000013481 data capture Methods 0.000 description 3
- 238000011010 flushing procedure Methods 0.000 description 3
- 230000004224 protection Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 101100494729 Syncephalastrum racemosum SPSR gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Hardware Redundancy (AREA)
Abstract
前記複数のモードが、前記安全ドメインにおけるモードである少なくとも1つの安全モードと、前記非安全ドメインにおけるモードである少なくとも1つの非安全モードと、モニタモードとを備え、前記プロセッサが安全モードでプログラムを実行しているときに、前記プロセッサが非安全モードで作動中にアクセスできない安全データへ前記プログラムがアクセスし、前記モニタモードを介して前記安全モードと非安全モードとの切り換えが行われ、前記安全モードと前記非安全モードとの切り換えを管理するためのモニタプログラムを実行するよう、前記プロセッサが前記モード内で少なくとも部分的に作動する。
Description
複数のモードおよび複数のドメインで作動できるプロセッサを備えた、データを処理するための装置であって、
前記複数のドメインが安全ドメインと非安全ドメインとを含み、前記複数のモードが、
前記安全ドメインにおけるモードである少なくとも1つの安全モードと、
前記非安全ドメインにおけるモードである少なくとも1つの非安全モードと、
モニタモードと、
を備え、
前記プロセッサが安全モードでプログラムを実行しているときに、前記プロセッサが非安全モードで作動中にアクセスできない安全データへ前記プログラムがアクセスし、
前記モニタモードを介して前記安全モードと非安全モードとの切り換えが行われ、前記安全モードと前記非安全モードとの切り換えを管理するためのモニタプログラムを実行するよう、前記プロセッサが前記モード内で少なくとも部分的に作動できるようになっている、データを処理するための装置を提供するものである。
複数のモードおよび複数のドメインで作動できるプロセッサによりプログラムを実行する工程を含み、
前記複数のドメインが安全ドメインと非安全ドメインとを含み、前記複数のモードが、
前記安全ドメインにおけるモードである少なくとも1つの安全モードと、
前記非安全ドメインにおけるモードである少なくとも1つの非安全モードと、
モニタモードとを備え、
前記プロセッサが安全モードでプログラムを実行しているときに、前記プロセッサが非安全モードで作動中にアクセスできない安全データへ前記プログラムがアクセスし、
前記モニタモードを介して前記安全モードと非安全モードとを切り換えるための工程を含み、前記安全モードと前記非安全モードとの切り換えを管理するためのモニタモード内で少なくとも部分的にモニタプログラムを実行するようになっている、データを処理するための方法を提供するものである。
安全ワールドにおける複製モードの代わりに同じモードが安全ドメインおよび非安全ドメインの双方をサポートする(図8参照)。モニタモードは(例えばコプロセッサコンフィギュレーションレジスタから記憶されたSビットを読み出すように)コアの現在のステータスが安全であるか、非安全であるかを知る。
1.スケジューラはスレッド1を開始する。
−Sビットをセットする(安全ステータスフラグ)。
−安全アプリケーションが作動中に例外が生じた場合でも、非安全コンテクストを失うことができないようにスタック内に少なくともR14_monおよびSPSR_monをセーブする。
−開始する新しいスレッド:安全スレッド1があるかどうかをチェックする。(一部の実施例におけるスレッドIDテーブルを介し)手順はスレッド1が安全ワールド内でアクティブであることを表示する。
−IRQ/FIQインターラプトを再イネーブルする。次に安全ユーザーモードで安全アプリケーションがスタートできる。
−安全スレッド1が終了したことを表示する(例えばスレッドIDテーブルの場合、テーブルからスレッド1を除く)。
−スタックから非安全コンテクストをリストアし、必要なレジスタをフラッシングし、非安全ドメインへのリターンが一旦なされると、安全データを読み出しできないようにする。
−次にSUBS命令(この命令はプログラムカウンタを正しいポイントにリストアし、ステータスフラグを更新する)により非安全ドメインへ戻るように分岐し、(リストアされたR14_monからの)PCおよび(SPSR_monからの)CPSRをリストアする。よって、非安全ドメインにおけるポイントへのリターンはスレッド1において前に実行されたSMIに続く命令となる。
上記機能の一部を、特定の実施例によっては、モニタプログラムと安全オペレーティングシステムとに分割できる。
別の実施例では、ユーザーモードではSMIが生じないようにすることが望ましい。
リセット
ハードウェアのリセットが生じると、MMUはディスエーブルされ、ARMコア(プロセッサ)はセットされたSビットにより安全スーパーバイザーモードへ分岐する。一旦、安全ブートが終了されると、モニタモードに進むSMIを実行でき、所望した場合モニタは、非安全ワールド(非安全svcモード)におけるOSへ切り換えできる。遺産(legacy)OSを使用したい場合、このOSは単に安全スーパーバイザーモードへブートでき、安全ステートを無視できる。
この命令(モード切り換えソフトウェアインターラプト命令)は、非安全ドメイン内の非安全モードからコールできる(前に述べたようにSMIを特権モードに制限することが望ましいことがある)が、関連するベクトルによって決定されるターゲット進入ポイントは常に固定されており、モニタモード内にある。これは、実行すべき(例えば命令によってパスされるオペランドによって制御される)適当な安全機能に分岐するためのSMIハンドラーまでである。
−モニタモードへのSMIベクトルへ分岐すること(次にモニタモードに入るので、安全メモリへのアクセスが許可される)。
−PCをR14_monにセーブし、CPSRをSPSR_monにセーブすること。
−モニタプログラムを使ってSビットをセットすること。
−モニタモードでの安全例外ハンドラーの実行をスタートすること(マルチスレッドの場合、コンテクストをリストア、すなわちセーブすること)。
−適当な機能を実行するための安全ユーザーモード(またはSVCモードのような別のモード)への分岐。
−コアがモニタモードとなっている間、IRQおよびFIQをディスエーブルすること(待ち時間(latency)が大きくなる)。
安全ワールドから出る可能性は2つある。すなわち、
−安全機能を終了し、この機能をコールした前の非安全モードに戻ること。
−非安全例外(例えばIRQ/FIQ/SMI)により安全機能をインターラプトすること。
安全機能は正常に終了し、SMIの直後の命令で非安全ワールド内のアプリケーションをレジュームしなければならない。安全ユーザーモードでは、「安全ワールドからのリターン」ルーチンに対応する適当なパラメータにより、モニタモードにリターンするようにSMI命令を実行する。このステージでは、非安全ワールドと安全ワールドとの間のデータの漏れを防止するためにレジスタをフラッシュし、非安全コンテクスト汎用レジスタをリストアし、非安全バンクレジスタが非安全ワールドで持っていた値により、非安全バンクレジスタを更新する。R14_monおよびSPSR_monは「MOVS PC、R14」命令を実行することにより、SMIの後で非安全アプリケーションをレジュームするように適当な値を得る。
この場合、安全機能は終了せず、取り扱いの必要なインターラプトがあれば、非安全例外ハンドラーに進む前に安全コンテクストをセーブしなければならない。
安全インターラプトに対してはいくつかの可能性がある。
次のことに応じて2つの可能な解決案が提案される。
−どんな種類のインターラプトであるか(安全または非安全)。
−(安全ワールドまたは非安全ワールドのいずれかにおいて)IRQが生じたときにコアはどのモードになっているか。
この解決案では、安全インターラプトおよび非安全インターラプトをサポートするのに2つの別個のピンが必要とされる。
非安全ワールド内にある間、
−IRQが生じた場合、コアはARM7のようなARMコアにおけるように、このインターラプトを取り扱うためにIRQモードに進む。
−SRIQが生じた場合、コアはモニタモードに進み、非安全コンテクストをセーブし、次に安全IRQハンドラーに進み、安全インターラプトを取り扱う。
−SIRQが生じた場合、コアは安全IRQハンドラーに進む。コアは安全ワールドから離れない。
−IRQが生じた場合、コアはモニタモードに進み、このモードで安全コンテクストがセーブされ、次に非安全IRQハンドラーに進み、この非安全インターラプトを取り扱う。
図11A参照:
1.スケジューラはスレッド1を開始する。
−Sビットをセットする。
−安全アプリケーションが作動中に例外が生じた場合でも、非安全コンテクストを失うことができないようにスタック内に少なくともR14_monおよびSPSR_monをセーブする(可能な場合には別のレジスタもプッシュする)。
−開始する新しいスレッド:安全スレッド1があるかどうかをチェックする。(スレッドIDテーブルを介し)手順はスレッド1が安全ワールド内でアクティブであることを表示する。
−次に安全ユーザーモードで安全アプリケーションがスタートでき、IRQ/FIQインターラプトを再イネーブルする。
5.安全コンテクストをセーブしなければならず、前の非安全コンテクストをリストアする。モニタハンドラーは適当な値によりR14_IRQ/SPSR_IRQを更新するように、IRQモードとなることができ、次に制御を非安全IRQハンドラーへ移す。
6.IRQハンドラーはIRQをサービスし、次に非安全ワールドでスレッド1へ制御を戻す。CPSRおよびPCにSPRS_IRQおよびR14_IRQをリストアすることにより、次にスレッド1はインターラプトされたSMI命令をポイントする。
8.モニタハンドラーはこのスレッドが前にインターラプトされていると判断し、スレッド1のコンテクストをリストアする。次に、ユーザーモードで安全スレッド1に分岐し、インターラプトされた命令をポイントする。
9.終了するまで安全スレッド1が作動し、モニタモード(専用SMI)で(安全からのリターン)機能に分岐する。
10.(安全からのリターン)機能は次のタスクを行う。
−安全スレッド1が終了したことを表示する(すなわちスレッドIDテーブルの場合、テーブルからスレッド1を除く)。
−スタックから非安全コンテクストをリストアし、必要なレジスタをフラッシングし、非安全ワールドへのリターンが一旦なされた場合に、安全データを読み出しできないようにする。
−SUBS命令により非安全ワールドに戻るように分岐し、(リストアされたR14_monからの)PCおよび(SPRS_monからの)CPSRをリストアする。よって、非安全ワールド内のリターンポイントはスレッド1において前に実行されたSMIに続く命令となるはずである。
11.エンドまでスレッド1が実行され、スケジューラに制御を戻す。
図11B参照:
1.スケジュールがスレッド1を開始する。
2.安全スレッド1の実行中にSIRQが生じる。コアは直接モニタモード(特別ベクトル)にジャンプし、モニタモードでR14_monに現在のPCを記憶し、SPSR_monにCPSRを記憶し、IRQ/FIQをディスエーブルする。
3.非安全コンテクストをセーブしなければならず、次にコアは安全IRQハンドラーに進む。
4.IRQハンドラーはSIRQをサービスし、次に適当なパラメータを有するSMIを使ってモニタモードハンドラーに制御を戻す。
5.モニタハンドラーはSUBS命令がコアを非安全ワールドに戻し、インターラプトされたスレッド1をレジュームするように非安全コンテクストをリストアする。
6.スレッド1はエンドまで実行され、次にスケジューラにハンドを戻す。
この手順(図12参照)では、2つの別個のピンまたは1つのピンだけで安全インターラプトおよび必要がインターラプトをサポートできる。2つのピンを設けることによってインターラプトの待ち時間(latency)を小さくできる。
−IRQが生じた場合、コアはARM7のシステム内と同じようにこのインターラプトを取り扱うように、IRQモードに進む。
−SIRQが生じた場合、コアはIRQハンドラーに進み、ここでSMI命令がコアをモニタモードに分岐させ、非安全コンテクストをセーブし、次に安全IRQハンドラーに進み、安全インターラプトを取り扱う。
−SIRQが生じた場合、コアは安全IRQハンドラーに進む。コアは安全ワールドを離れない。
−IRQが生じた場合、コアは安全IRQハンドラーに進み、ここでSMI命令がコアをモニタモード(ここで安全コンテクストがセーブされる)に分岐させ、次に非安全IRQハンドラーに進み、この非安全インターラプトを取り扱う。
図13A参照:
1.スケジュールがスレッド1を開始する。
−Sビットをセットする。
−安全アプリケーションが作動中に例外が生じた場合でも、非安全コンテクストを失うことができないようにスタック内(最終的には他のレジスタ内)に少なくともR14_monおよびSPSR_monをセーブする。
−ローンチする新しいスレッド:安全スレッド1があるかどうかをチェックする。(スレッドIDテーブルを介し)手順はスレッド1が安全ワールド内でアクティブであることを表示する。
−次に安全ユーザーモードで安全アプリケーションがスタートでき、IRQ/FIQを再イネーブルする。
5.コアはR14_IRQに現在のPCを記憶し、SPRS_IRQにCPSRを記憶する。IRQハンドラーはこれが非安全インターラプトであることを検出し、SMIを実行し、適当なパラメータによりモニタモードに入る。
6.安全コンテクストをセーブしなければならず、前の非安全コンテクストをリストアする。モニタハンドラーはCPSRを読み出すことにより、SMIがどこから来たものであるかを知る。モニタハンドラーはIRQモードに進み、R14_IRQ/SPSR_IRQを読み出し、安全なコンテクストを適当にセーブすることもできる。更に、モニタハンドラーはIRQルーチンが終了した場合、リストアしなければならない非安全コンテクストをこれら同じレジスタにセーブすることもできる。
7.IRQハンドラーはIRQをサービスし、次に非安全ワールドでスレッド1へ制御を戻す。SPRS_IRQおよびR14_IRQをCPSRおよびPCにリストアすることにより、次にコアはインターラプトされたSMI命令をポイントする。
9.モニタハンドラーはこのスレッドが前にインターラプトされていると判断し、スレッド1のコンテクストをリストアする。次に、ユーザーモードで安全スレッド1に分岐し、インターラプトされた命令をポイントする。
10.終了するまで安全スレッド1が作動し、モニタモード(専用SMI)で(安全からのリターン)機能に分岐する。
11.(安全からのリターン)機能は次のタスクを行う。
−安全スレッド1が終了したことを表示する(すなわちスレッドIDテーブルの場合、テーブルからスレッド1を除く)。
−スタックから非安全コンテクストをリストアし、必要なレジスタをフラッシングし、非安全ワールドへのリターンが一旦なされた場合に、安全データを読み出しできないようにする。
−SUBS命令により非安全ワールドに戻るように分岐し、(リストアされたR14_monからの)PCおよび(SPRS_monからの)CPSRをリストアする。よって、非安全ワールド内のリターンポイントはスレッド1において前に実行されたSMIに続く命令となるはずである。
12.エンドまでスレッド1が実行され、スケジューラにハンドを戻す。
図13B参照:
1.スケジュールがスレッド1を開始する。
2.安全スレッド1の実行中にSIRQが生じる。
3.コアは直接irqモードにジャンプし、R14_irqに現在のPCを記憶し、SPSR_irqにCPSRを記憶する。次にIRQをディスエーブルする。IRQハンドラーはこれがSIRQであることを検出し、適当なパラメータによりSMI命令を実行する。
4.一旦モニタモードになると、非安全コンテクストをセーブしなければならず、次にコアは安全IRQハンドラーに進む。
5.安全IRQハンドラーはSIRQサービスルーチンをサービスし、次に適当なパラメータを有するSMIを使ってモニタモードハンドラーに制御を戻す。
6.モニタハンドラーはSUBS命令が非安全コンテクストをリストアし、よってSUBS命令がコアを非安全ワールドに戻し、インターラプトされたIRQハンドラーをレジュームする。
7.IRQハンドラーは次にSUBSを実行することにより、非安全スレッドに戻ることができる。
8.スレッド1はエンドまで実行され、次に制御をスケジューラに戻す。
図12の手順により、入れ子状のインターラプトの場合、SIRQイベントを再作成する必要はないが、安全インターラプトが実行される保証はない。
仮想アドレスの見地から物理的ベクトルテーブルは単一ベクトルテーブルとして見えるが、少なくとも2つの物理的ベクトルテーブルが維持される。一方のテーブルは非安全メモリ内の非安全ワールドのためのものであり、一方は(非安全ワールドからアクセスできない)安全メモリ内の安全ワールドのためのものである。安全ワールドおよび非安全ワールド内に使用される仮想−物理メモリの異なるマッピングによって同じ仮想的メモリアドレスが効果的に物理メモリ内に記憶されている異なるベクトルテーブルにアクセスできるようになる。モニタモードは物理メモリ内の第3ベクトルテーブルを提供するのに常にフラットなメモリマッピングを使用できる。
図1を参照して説明したように、データ処理装置は特にTCM36、キャッシュ38、ROM44、スレーブデバイスのメモリおよび外部メモリ56を含むメモリを有する。例えば図37を参照して説明したように、メモリは安全メモリと非安全メモリに分割されている。製造時にメモリの安全メモリ領域と非安全メモリ領域との間には一般に物理的な区別はないが、その代わり、これら領域は安全ドメインで作動しているときのデータ処理装置の安全オペレーティングシステムによって定められる。従って、メモリデバイスの物理的部分を安全メモリとして割り当て、任意の物理部分を非安全メモリとして割り当てできる。
−Sビット:専用CP15レジスタに含まれる安全ステートビット。
−「安全/非安全ステート」。このステートはSビットの値によって定められ、このステートはコアが安全ワールドにアクセスできる(安全ステートとなっており、すなわちS=1となっているとき)のか、または非安全ワールドだけに制限されている(S=0)のかのいずれかを表示する。モニタモード(更に参照)は、Sビットステータスを無効にすることに留意されたい。
−「安全ワールド」は安全コードを実行するときにしかアクセスできないすべてのハードウェア/ソフトウェア(コア、メモリ....)をグループ分けする。
−モニタモード:安全ステートと非安全ステートとの間でコアを切り換える役割を果たす新しいモードである。
−コアは常に非安全ワールドにアクセスできる。
−コアは安全ステートまたはモニタモードになっているときにしか、安全ワールドにアクセスできない。
−SMI:ソフトウェアモニタインターラプト:専用SMI例外ベクトルによりコアがモニタモードに入るようにする新しい命令である。「スレッドID」は(OSによって制御される)各スレッドに関連した識別子である。OSが非安全ワールドで作動する一部のタイプのOSに対し、安全機能がコールされるごとに現在のスレッドIDをパラメータとして送り、安全機能と、そのコールしている非安全アプリケーションとをリンクしなければならない。従って、安全ワールドはマルチスレッドをサポートできる。
−安全インターラプトは安全周辺機器が発生したインターラプトを定める。
カーボン(Carbon)コアの概観
本技術を使用するプロセッサに対して本明細書で使用する用語であるカーボンアーキテクチャの概念は、2つのワールド、すなわち安全ワールドと非安全ワールドとに分離することから成る。安全ワールドは非安全ワールドにどんなデータもリークしてはならない。
カーボンの新しい特徴
安全または非安全ステート(Sビット)
カーボンコアの主な1つの特徴は、Sビットが存在していることであり、このSビットはコアが安全(S=1)ステートとなっているか、または非安全(S=0)ステートとなっているかのいずれかを表示する。安全ステートとなっているとき、コアは安全ワールドまたは非安全ワールド内のどのデータにもアクセスできる。非安全ステートとなっているときにコアは非安全ワールドだけに限定される。
カーボンシステムの別の重要な特徴は、新しいモード、モニタモードを作成したことである。このモードは安全ステートと非安全ステートとの間のコアの切り換えを制御するのに使用される。このモニタモードは常に安全モードと見なされる。すなわちSビットの値がどんな値であってもコアがモニタモードになっていると、コアは常に外部ワールドへの安全特権アクセスを実行する。
・すべてのインターラプトをマスクする。
・すべてのメモリ例外を無視するか、またはこれら例外によって致命的例外が生じる。
・無定義/Undefined/SWI/SMIを無視するか、またはこれらによって致命的例外が生じる。
この提案は、現在のARM命令セットに1つの新しい命令を追加しなければならない。
前のパラグラフで説明したように、コアでは1つの新しいモード、すなわちモニタモードしか追加されない。現在のすべてのモードは利用できるままであり、安全ステートおよび非安全ステートで存在する。
実際にカーボンユーザーは図21に示された構造を見ることになる。
この実施例は、安全ワールドと非安全ワールドとが同じレジスタバンクを共用することを提案するものである。このことは、あるワールドからモニタモードを通して別のワールドに切り換わるときに、システムモニタは最初にワールドコンテクストをセーブし、第2のワールド内にコンテクストを作成(またはリストア)しなければならないことを意味する。
例外
安全インターラプト
現在の解決案
現在のコア内と同じインターラプトピン、例えばIRQおよびFIQを維持することが現在提案されている。(本明細書の後半で定義する)例外トラップマスクレジスタに関連し、システムが異なる種類のインターラプトを実行し、取り扱いできるようにする十分なフレキシビリティがなければならない。
次のようにVIC(ベクトル化されたインターラプトコントローラ)を強化できる。このVICは各ベクトル化されたアドレスに関連する1つの安全情報ビットを含むことができる。このビットはモニタまたは安全特権モードでしかプログラムできない。このビットは当該インターラプトを安全として取り扱い、従って、安全側で取り扱うべきかどうかを表示する。
Carbonのフレキシビリティを改善するためにCP15に新しいレジスタ、すなわち例外トラップマスクを追加する。このレジスタは次のビットを含む。
−ビット0:Undef例外 (非安全ステート)
−ビット1:SWI例外 (非安全ステート)
−ビット2:プリフェッチアボート例外 (非安全ステート)
−ビット3:データアボート例外 (非安全ステート)
−ビット4:IRQ例外 (非安全ステート)
−ビット5:FIQ例外 (非安全ステート)
−ビット6:SMI例外 (非安全ステート/安全ステートの双方)
−ビット16:Undef例外 (非安全ステート)
−ビット17:SWI例外 (非安全ステート)
−ビット18:プリフェッチアボート例外 (非安全ステート)
−ビット19:データアボート例外 (非安全ステート)
−ビット20:IRQ例外 (非安全ステート)
−ビット21:FIQ例外 (非安全ステート)
別個の安全ワールドと非安全ワールドとが生じるので、別個の安全例外別個の表と非安全例外ベクトルの表も必要となる。
更にモニタは一部の例外をトラップし得るので、モニタ専用の第3の例外ベクトルの表も必要となる。
−1つのベクトルは非安全ステートで生じた例外用のベクトルであり、
−1つのベクトルは安全ステートで生じた例外用のベクトルである。
ステートを切り換える際に、モニタモードはそのモニタスタックに最初のステートのコンテクストをセーブし、モニタスタックからの第2のステートのコンテクストをリストアしなければならない。
−モニタモードに入る。
−Sビットをセットする。
−スーパーバイザーモードに切り換え、 −モニタスタックにスーパーバイザーレジスタをセーブする(当然ながらスーパーバイザーモードはモニタスタックポインタにアクセスしなければならないが、これは例えば共通レジスタ(R0〜R8)を使用することにより容易に行うことができる。
−システムモードに切り換え、 −モニタスタックにレジスタ(ユーザーモードと同じ)をセーブする。
−すべてのモードに対してモニタスタック上のIRQレジスタ....等々。
−すべてのモードのすべてのプライベートレジスタを一旦セーブすると、簡単なMSR命令によりモニタモードへ戻る(=CPSRモードフィールド内にモニタ値を単に書き込む)。
−モニタが自己のスタックに他のモードのプライベートレジスタをセーブできるようにする新しい命令を加えること。
−モニタを新しい「ステート」として実行すること。すなわち(適当なアクセス権を有するように)モニタステートとなり、IRQ(または他の)モードとなり、IRQ(または他の)プライベートレジスタを見ることができるようにすること。
1.スレッド1は非安全ワールドで作動中である(Sビット=0)。このスレッドは安全機能=>SMI命令を実行しなければならない。
2.SMI命令は非安全SMIベクトルを通してコアを入力モードにする。
非安全モードのPCおよびCPSRをセーブするようにLR_monおよびSPSR_monを使用する。
この段階ではSビットは無変更のままであるが、システムはそのときに安全ステートにある。
モニタカーネルはモニタに非安全コンテクストをセーブする。
モニタカーネルはLR_monおよびSPSR_monもプッシュする。
次にモニタカーネルはCP15レジスタに書き込むことによって「S」ビットを変更する。
この実施例ではモニタカーネルは(例えばスレッドIDテーブルを更新することにより)安全ワールドで「安全スレッド1」をスタートするトラックを維持する。
最後に、モニタカーネルはモニタモードから出て安全スーパーモードに切り換わる。「LR_monおよびSPSR_monを更新した後のMOVS命令」
4.安全ユーザーモードで安全機能を実行する。一旦終了すると、安全機能は適当なSWIを実行することによって「出口」機能をコールする。
5.SWI命令は専用SWIベクトルを通してコアを安全SVCモードにし、次に専用SWIベクトルは「出口」機能を実行する。この「出口」機能はモニタモードに戻るように切り換わるよう、「SMI」により終了する。
6.SMI命令は専用安全SMIベクトルを通してコアをモニタモードにする。
安全svcモードのPCおよびCPSRをセーブするのにLR_monおよびSPSR_monを使用する。
Sビットは無変更のままである(すなわち安全ステート)。
モニタカーネルは安全スレッド1が終了した事実を登録する(スレッドIDテーブルから安全スレッド1のIDを除く)。
次にモニタカーネルはCP15レジスタに書き込みをすることにより「S」ビットを変更し、非安全ステートに戻る。
モニタカーネルはモニタスタックから非安全コンテクストをリストアする。
モニタカーネルはステップ2で前にセーブしたLR_monおよびCPSR_monもロードする。
最後に、モニタカーネルはSUBSによりモニタモードから出る。これによってコアは命令時に非安全ユーザーモードに戻る。
7.通常、スレッド1がレジュームできる。
ブート手順は次の特徴を尊重しなければならない。
−遺産OSとのコンパチビリティを維持すること。
−システムのセキュリティを保証するように、最も特権性のあるモードでブートすること。この結果、カーボンコアは安全スーパーバイザーモードでブートすることになる。
次に、異なるシステムは次のようになる。
−遺産OSを作動させたいシステムに対してはSビットを考慮せず、コアはスーパーバイザーモードでブートする
−カーボンの特性を使用したいシステムに対しては(潜在的にモニタモードにスワップした後に)コアはシステム内のすべての安全保護を構成できるようにしなければならない安全特権モードでブートする。
2)MMU1のマイクロTLB内で不一致
3)MMU1のメインTLB内で不一致
ページテーブル1のベースアドレス=8000IA[PA=10000]
4)MMU1内の変換テーブルウォークロジックがページテーブルルックアップを実行し、
IA=8003を発生する。
5)MMU2のマイクロTLB内で不一致
6)MMU2のメインTLB内で不一致
ページテーブル2のベースアドレス=12000PA
7)MMU2内の変換テーブルウォークロジックがページテーブルルックアップを実行し、
PA=12008を発生する。
「8000IA=10000PA」がページテーブルデータとしてリターンされる。
9)MMU2のマイクロTLB内に記憶される。
10)MMU2内のマイクロTLBが一致を有し、
PA=10003を発生する。
「3000VA=5000IA」がページテーブルデータとしてリターンされる。
11)MMU1のメインTLB内に記憶される。
12)MMU1のマイクロTLB内に記憶される。
13)MMU1内のマイクロTLBが一致を有し、
IA=5000を発生しデータアクセスを実行する。
14)MMU2のマイクロTLB内で不一致
15)MMU2のメインTLB内で不一致
16)MMU2内の変換テーブルウォークロジックがページテーブルルックアップを実行し、
PA=12005を発生する。
「5000IA=7000PA」がページテーブルデータとしてリターンされる。
18)MMU2のマイクロTLB内に記憶される。
19)MMU2内のマイクロTLBが一致を有し、
PA=7000を発生し、データアクセスを実行する。
20)物理アドレス7000におけるデータがコアにリターンされる。
1)コアがVA=3001を発生する。
2)MMU1のマイクロTLB内で一致があり、MMU2にリクエストIA5001が発生される。
3)MMU2のマイクロTLB内で一致があり、メモリへPA7001のためのリクエストが発生される。
4)PA7001におけるデータがコアにリターンされる。
2)MMU1のマイクロTLBおよびメインTLB内で不一致。
ページテーブル1のベースアドレス=8000IA [PA=10000]
3)MMU1内の変換テーブルウォークロジックがページテーブルルックアップを実行し、
IA=8003を発生する。
4)MMU2のマイクロTLBおよびメインTLB内でIA8003が不一致。
ページテーブル2のベースアドレス=12000PA
5)MMU2内の変換テーブルウォークロジックがページテーブルルックアップを実行し、
PA=12008を発生する。
「8000IA=10000PA」がページテーブルデータとしてリターンされる。
7)MMU2内のマイクロTLBはステップ(3)カラPA10003までリクエストを変換でき、フェッチを発生する。
ページテーブルデータとして「3000VA=5000IA」がリターンされる。
注: この変換はMMU2によって一時記憶装置に保持されるが、TLBに直接記憶されることはない。
8)MMU2の変換テーブルウォークロジックがIA=5000に対するMMU2にリクエストを発生する。
9)MMU2のマイクロTLBおよびメインTLB内でIA5000が不一致。
10)MMU2内の変換テーブルウォークロジックがページテーブルルックアップを実行し、
PA=12005を発生する。
ページテーブルデータとして「5000IA=7000PA」がリターンされる。
12a)MMU2がメモリへPA=7000アクセスを発生する。
12b)MMU1が「3000VA=5000IA」と「5000IA=7000PA」デスクリプタを組み合わせ、「3000VA=7000PA」デスクリプタを与え、このデスクリプタはmMU1のメインTLBおよびマイクロTLBに記憶される。
13)PA7000におけるデータはコアへリターンされる。
1)コアがVA=3001を発生する。
2)MMU1のマイクロTLB内で一致があり、MMU1がPA7001に対するリクエストを発生する。
4)PA7001におけるデータがコアにリターンされる。
テーブル2は0x00000000における1Mbを0x02000000にマッピングする。
ここで、組み合わせ変換を行うには2つのサイズのうちの小さい方を使用しなければならないので、組み合わせデスクリプタは次のようになる。
0x02081000に対する0x40003000における4Kbとなる。
テーブル1は0xc0000000における1Mbを0x00000000にマッピングする。
テーブル2は0x00042000における4Kbを0x02042000にマッピングする。
次にコアからのアドレス0xc0042010におけるルックアップは次のマッピングを与える。
0x02042000に対する0xc0042000における4Kb
すなわち組み合わせマッピングに対して常に2つのサイズのうちの小さい方を使用する。
侵襲的、かつ観測可能な(トレース)デバッグを別々に制御することにより;
安全ワールドのみ、または安全ワールド全体においてデバッグが安全ユーザーモードに入ることを認めることにより;
安全ユーザーモードにおけるデバッグだけを認め、更にスレッドID(アプリケーション実行中)を考慮することにより、モニタ機能に入ることを制限せんとするものである。
スキャンチェーンおよびJTAGに関する更なる細部を下記に示す。
どの集積回路(IC)も2つの種類のロジックから成る。
・AND、OR、INVゲートのような、組み合わせロジックセル。かかるゲートまたはかかるゲートの組み合わせは1つまたは数個の入力信号に従ってブール式を計算するのに使用される。
・LATCH、FLIP−FLOPのようなレジスタロジックセル。かかるセルは任意の信号値を記憶するのに使用される。図62は正のエッジでトリガーされるFLIP−FLOPの図を示す。
テストまたはデバッグ目的のためには、レジスタロジックセルの機能アクセスをバイパスさせ、レジスタロジックセルのコンテンツに直接アクセスすることが必要である。従って、図63に示されるように、レジスタセルはスキャンチェーンセル内に集積化されている。
図64に示されるように、スキャンチェーンにはすべてのスキャンチェーンセルがチェーン状となっている。
機能モードではSEはクリアされ、通常どおりすべてのレジスタセルにアクセスでき、レジスタセルは回路の他のロジックと相互作用できる。テストまたはデバッグモードではSEはセットされ、スキャンチェーン内ですべてのレジスタは互いにチェーン状となっている。第1スキャンチェーンセルからデータがくることができ、各クロックサイクルのカデンスにおいて、他のスキャンチェーンセルを通してデータをシフトできる。レジスタのコンテンツを見るためにデータをシフトすることもできる。
いくつかのスキャンチェーンを取り扱うのにTAPコントローラが使用される。このTAPコントローラは特定のスキャンチェーンを選択でき、「スキャンイン」および「スキャンアウト」信号を特定のスキャンチェーンに接続する。次に、データをチェーンへスキャン入力し、シフトし、スキャンアウトすることができる。TAPコントローラはJTAGオートインターフェースにより外部から制御できる。図65はTAPコントローラを略図で示す。
セキュリティの理由から、デバッグまたはテストモードでの一部のレジスタに対してスキャンチェーンによりアクセスできない場合がある。JADI(JTAGアクセスディスエーブル)と称される新しい入力信号は、集積回路におけるスキャンチェーンの構造を変えることなく、全スキャンチェーンから1つのスキャンチェーンセルをダイナミックまたはスタティックに除くことを認めることができる。図66AおよびBはこの入力信号を略図で示す。
ボードステージでの侵襲的デバッグ
JSDAENピンが接続されていないときのボードステージでは、ブートセッションをスタートさせる前のどの場所でも、デバッグをイネーブルする能力がある。同様に、安全スーパーバイザーモードにある場合、同様の権利を有する。
SMIベクトルトラッピングイネーブル
安全データアボートベクトルトラッピングイネーブル
安全プリフェッチアボートベクトルトラッピングイネーブル
安全無定義ベクトルトラッピングイネーブル
JSDAENが接続され、デバッグが非安全ワールドに制限されている製造ステージでは、安全スーパーバイザーが判断しないかぎり、図71Bに示されたテーブルは何が生じるかを示す。この場合、SMIは常に自律命令と見なすべきであるので、デバッグステートに入る前に安全機能は常に終了される。
非安全ワールドだけでは外部デバッグリクエストまたは内部デバッグリクエストが考慮される。安全ワールドにある間にEDBGRQ(外部デバッグリクエスト)がアサートされた場合、安全機能が一旦終了すれば、コアはデバッグホールトモードに入り、非安全ワールドでコアがリターンされる。
安全デバッグがイネーブルされなければ、安全ワールドに入るのにSビットを変えることはできない。
デバッグが安全スーパーバイザーモードでしか許可されていない場合、モードビットを変えることはできない。
安全デバッグを制御する専用ビットを変えることはできない。
(システム速度アクセスが)SMIにロードされ、SMIが実行された場合、安全機能が完全に実行されたときにしか、コアはデバッグステートに再進入できない。
モニタモードに入る前に:
非安全ワールドに限りブレークポイントおよびウォッチポイントを考慮する。ビットSがセットされれば、ブレークポイント/ウォッチポイントをバイパスする。ブレークポイント/ウォッチポイントは安全メモリでは効果がないので、セキュリティの問題がないMCR/MRC(CP14)によってウォッチポイントユニットにもアクセスできることに留意されたい。
一旦モニタモード(非安全アボートモード)となると、
非安全アボートハンドラーは非安全ワールドをダンプでき、安全バンク状レジスタだけでなく安全メモリでビジビリティを有しない。
アトミックSMI命令により安全機能を実行する。
安全ワールドへの進入を強制するためにSビットを変更できない。
安全スーパーバイザーモードでしかデバッグが許可されていない場合、モードビットを変更できない。
非安全ワールドではコアはそのときの命令を終了し、即座に(ホールトモードで)デバッグステートに入る。
・D_s_アボートビットはデバッグが安全ワールドでイネーブルされたとき、およびデバッグがホールトデバッグモードで構成されたときに限りセットすべきである。モニタデバッグモードではこのビットをセットしてはならない。安全ワールドにおけるデバッグがディスエーブルされると、このビットはどんな値であっても効果がない。
・P_s_アボートビットはD_s_アボートビットと同じである。
・S_undefビットはデバッグが安全ワールドでイネーブルされているときに限りセットすべきである。安全ワールドにおけるデバッグがディスエーブルされている場合、このビットはどんな値であっても効果がない。
・SMIビットは安全ワールドにおいてデバッグがイネーブルされているときに限りセットすべきである。安全ワールドにおけるデバッグがディスエーブルされている場合、このビットはどんな値であっても効果がない。
・FIQ、IRQ、D_アボート、P_アボート、SWI、undefビットは非安全例外に対応するので、これらビットは安全ワールドにおけるデバッグがディスエーブルされても有効である。モニタモードではD_アボートおよびP_アボートはハイにアサートすべきでない。
・リセットビット:リセットが生じたときに安全ワールドが入るので、このビットは安全ワールドにおけるデバッグがイネーブルされたときにしか有効でなく、そうでない場合は効果がない。
Claims (67)
- 複数のモードおよび複数のドメインで作動できるプロセッサを備えた、データを処理するための装置であって、
前記複数のドメインが安全ドメインまたは非安全ドメインを含み、前記複数のモードが、
前記安全ドメインにおけるモードである少なくとも1つの安全モードと、
前記非安全ドメインにおけるモードである少なくとも1つの非安全モードと、
モニタモードとを備え、
前記プロセッサが安全モードでプログラムを実行しているときに、前記プロセッサが非安全モードで作動中にアクセスできない安全データへ前記プログラムがアクセスし、
前記モニタモードを介して前記安全モードと非安全モードとの切り換えが行われ、前記安全モードと前記非安全モードとの切り換えを管理するためのモニタプログラムを実行するよう、前記プロセッサが前記モード内で少なくとも部分的に作動可能である、前記装置。 - 前記プロセッサがレジスタバンクを含み、前記レジスタバンク内に保持された安全データが前記モニタプログラムによって許可された場合を除き、前記安全モードから前記非安全モードに移動できないよう、前記安全モードから前記非安全モードへの切り換え時に前記安全モードと前記非安全モードとの間で共用される前記レジスタバンクの少なくとも一部を前記モニタプログラムがフラッシュ可能である、請求項1記載の装置。
- 前記プロセッサが前記非安全モードで作動中に使用される非安全レジスタバンクと、前記プロセッサが前記安全モードで作動中に使用される安全レジスタバンクとを含む、請求項1記載の装置。
- 前記非安全モードで作動中に前記モニタプログラム内の1つ以上の固定ポイントのうちの1つへの切り換えにより前記安全モードへの切り換えが行われる、請求項1、2および3のいずれかに記載の装置。
- 前記安全ドメインが少なくとも1つの安全特権モードおよび少なくとも1つの安全ユーザーモードを提供し、安全特権モードで作動中に安全ユーザーモードへの切り換えと同じ手順を使って前記モニタモードへの切り換えを行うことができる、前記いずれかの請求項に記載の装置。
- 前記切り換えが前記非安全モードで実行中のプログラムによってなされるコールを使用する、請求項5記載の装置。
- 前記コールが前記モニタプログラム内の固定ポイントへ行われる、請求項6記載の装置。
- 前記モニタモードにある間を除き、前記非安全モードと前記安全モードとを切り換えるためのプログラムによる試みにより、前記切り換えがトリガーされる、請求項4記載の装置。
- 前記モニタモードにある間を除き、前記非安全モードと前記安全モードとを切り換えるためのプログラムによる試みがトラップされ、この試みが前記モニタプログラムにおける固定されたポイントへのコールをトリガーする、請求項8記載の装置。
- 前記非安全モードから前記モニタモードへの進入が開始されたときに、前記プロセッサが、前記非安全モードでの処理の終了したポイントで前記非安全モードの処理を再スタートする際に使用するためのプログラムカウンター値を記憶する、前記いずれかの請求項に記載の装置。
- 前記非安全モードから前記モニタモードへの進入が開始されたときに、前記プロセッサが、前記非安全モードで処理の終了したポイントでのステータスに一致するステータスへリストアする際に使用するためのプロセッサステータス値を記憶する、前記いずれかの請求項に記載の装置。
- 前記非安全モードで例外処理が生じ得るように、前記安全モードにおける処理を停止したときに前記モニタモードを介して前記非安全モードへの切り換えを行い、前記モニタモードへ制御を戻すことを終了したときに前記例外処理が作動可能である、前記いずれかの請求項に記載の装置。
- 前記プロセッサが前記安全ドメインで作動しているかあるいは前記非安全ドメインで作動しているかを表示する安全ステータスフラグを含み、前記プロセッサが前記モニタモードで作動しているときは前記安全ステータスフラグを書き込むことができ、前記プロセッサが前記モニタモード以外のモードで作動しているときは前記安全ステータスフラグを書き込みできない、前記いずれかの請求項に記載の装置。
- 前記少なくとも1つの非安全モードで作動中に、非安全オペレーティングシステムが前記プロセッサを制御する、前記いずれかの請求項に記載の装置。
- 前記少なくとも1つの安全モードで作動中に、安全オペレーティングシステムが前記プロセッサを制御する、前記いずれかの請求項に記載の装置。
- 前記モニタプログラムが前記安全オペレーティングシステムの一部である、請求項15記載の装置。
- 前記プロセッサが例外処理をトリガーするよう、1つ以上の例外条件に応答する、前記いずれかの請求項に記載の装置。
- 前記モニタモードにおいて、前記例外条件のうち少なくとも1つがディスエーブルされる、請求項17記載の装置。
- 対応する汎用レジスタ内のデータをオーバーライトすることなく、前記モニタプログラムによる使用のために複数の専用レジスタを利用できるよう、前記モニタモードに入るときに前記レジスタバンク内の前記対応する汎用レジスタの代わりとなる複数の専用レジスタを前記プロセッサが有する、請求項2および請求項18記載の装置。
- 前記モニタモードで実行中の例外ハンドラーによって前記例外のどれを取り扱うべきか、および例外が発生したときに前記安全ドメインおよび前記非安全ドメインのうちのそのときの1つの内部にて、あるモードで実行中の例外ハンドラーにより前記例外のうちのどれを処理すべきかを指定する1つ以上のパラメータを例外トラップマスクレジスタが記憶する、請求項17、18および19のいずれか1の請求項記載の装置。
- 前記モニタモードに入ることおよび前記モニタプログラムの実行をトリガーするようになっている安全例外条件に、前記プロセッサが応答する、請求項17〜20のいずれかに記載の装置。
- 前記モニタモードに入り所定のロケーションにおいて前記モニタプログラムの実行をスタートするためのモニタモード進入命令に、前記プロセッサが応答する、前記いずれかの請求項に記載の装置。
- 前記モニタモード進入命令がソフトウェアインターラプト命令を切り換えるモードであり、前記所定のロケーションが前記モード切り換えソフトウェアインターラプト命令に関連するモード切り換えソフトウェアインターラプトベクトルである、請求項22記載の装置。
- 前記プロセッサが安全モードであるかあるいは非安全モードであるかに応じて、異なるモード切り換えソフトウェアインターラプトベクトルが前記モード切り換えソフトウェアインターラプト命令に関連する、請求項23記載の装置。
- 前記少なくとも1つの安全モードが、
安全スーパーバイザーモードと、
安全システムモードと、
安全アボート例外モードと、
安全無定義例外モードと、
安全インターラプトモードと、
安全高速インターラプトモードと、
安全ユーザーモードのうちの1つ以上を含む、前記いずれかの請求項に記載の装置。 - 前記少なくとも1つの非安全モードが、
非安全スーパーバイザーモードと、
非安全ステムモードと、
非安全アボート例外モードと、
非安全無定義例外モードと、
非安全インターラプトモードと、
非安全高速インターラプトモードと、
非安全ユーザーモードのうちの1つ以上を含む、前記いずれかの請求項に記載の装置。 - 前記安全ドメインから前記非安全ドメインに変わることのできない前記安全ドメイン内で前記プロセッサが少なくとも1つの特権安全モードで作動でき、前記特権安全モードがプログラム実行ポイントをリダイレクトすることなく前記特権安全モードから前記モニタモードへの変更を許可する特権を有する、請求項1記載の装置。
- 前記プロセッサが前記モニタモードとなっているときに前記安全ドメインと前記非安全ドメインとを切り換えるためのセキュリティフラグを変更するようになっており、前記セキュリティフラグが前記モニタモードの外部から書き込みアクセスできないようにする、請求項27記載の装置。
- 前記ソフトウェアインターラプト命令に関連するインターラプトベクトルによって指定されるプログラム実行ポイントをリダイレクトすることにより、前記モニタモードへの切り換えを実行するためのソフトウェア割り込み命令に前記プロセッサが応答する、請求項27および28のいずれか1の請求項に記載の装置。
- 前記非安全ドメインが少なくとも1つの特権非安全モードを含み、プログラム実行ポイントをリダイレクトすることなく、特権非安全モードから前記モニタモードへの変更を行うことができない、請求項27、28および29のいずれか1の請求項に記載の装置。
- リセット時に前記プロセッサが前記特権安全モードに入る、請求項27〜30のいずれか1の請求項に記載の装置。
- 前記安全ドメインから前記非安全ドメインへ切り換える前に前記モニタモードで実行中のモニタプログラムが前記特権安全モードへの切り換えを行い、前記特権安全モードが前記非安全ドメインへの変更のために前記モニタモードに戻るように切り換わる前に、前記モニタモードからアクセスできないコンフィギュレーションデータのセーブを可能にする、請求項27〜31のいずれか1の請求項に記載の装置。
- 前記モニタモードでアクセスできるメモリ領域が、前記特権安全モードでもアクセスできる、請求項27〜32のいずれか1の請求項に記載の装置。
- 複数のモードおよび複数のドメインで作動できるプロセッサによりプログラム実行工程を含み、
前記複数のドメインが安全ドメインまたは非安全ドメインを含み、前記複数のモードが、
前記安全ドメインにおけるモードである少なくとも1つの安全モードと、
前記非安全ドメインにおけるモードである少なくとも1つの非安全モードと、
モニタモードと、を備え、
前記プロセッサが安全モードでプログラムを実行しているときに前記プログラムが、前記プロセッサが非安全モードで作動中にアクセスできない安全データへアクセスし、
前記モニタモードを介して前記安全モードと非安全モードとを切り換えるための工程を含み、前記安全モードと前記非安全モードとの切り換えを管理するためのモニタモード内で少なくとも部分的にモニタプログラムを実行する、データを処理する方法。 - 前記プロセッサがレジスタバンクを含み、前記レジスタバンク内に保持された安全データが前記モニタプログラムによって許可された場合を除き、前記安全モードから前記非安全モードに移動できないよう、前記安全モードから前記非安全モードへの切り換え時に前記安全モードと前記非安全モードとの間で共用される前記レジスタバンクの少なくとも一部を前記モニタプログラムがフラッシュする、請求項34記載の方法。
- 前記プロセッサが、前記非安全モードで作動中に使用される非安全レジスタバンクと、前記プロセッサが前記安全モードで作動中に使用される安全レジスタバンクと、を含む、請求項34記載の方法。
- 前記非安全モードで作動中に前記モニタプログラム内の1つ以上の固定ポイントの1つへの切り換えにより、前記安全モードへの切り換えが行われる、請求項34、35および36のいずれか1の請求項に記載の方法。
- 前記安全ドメインが少なくとも1つの安全特権モードおよび少なくとも1つの安全ユーザーモードを提供し、安全特権モードで作動中に安全ユーザーモードへの切り換えと同じ手順を使って前記モニタモードへの切り換えを行うことができる、請求項34〜37のいずれかに記載の方法。
- 前記切り換えが前記非安全モードで実行中のプログラムによってなされるコールを使用する、請求項37記載の方法。
- 前記コールが前記モニタプログラム内の固定されたポイントへ行われる、請求項39記載の方法。
- 前記モニタモードにある間を除き、前記非安全モードと前記安全モードとを切り換えるためのプログラムによる試みによって前記切り換えがトリガーされる、請求項37記載の方法。
- 前記モニタモードにある間を除き、前記非安全モードと前記安全モードとを切り換えるためのプログラムによる試みがトラップされ、この試みが前記モニタプログラムにおける固定されたポイントへのコールをトリガーする、請求項41記載の方法。
- 前記モニタモードへの進入が前記非安全モードから開始されたときに、前記非安全モードで処理が終了したポイントにおいて前記非安全モードの処理を再スタートする際に使用するためのプログラムカウンター値を前記プロセッサが記憶する、請求項34〜42のいずれか1の請求項に記載の方法。
- 前記モニタモードへの進入が前記非安全モードから開始されたときに、前記非安全モードで処理の終了したポイントでのステータスに一致するステータスへリストアする際に使用するためのプロセッサステータス値を前記プロセッサが記憶する、請求項34〜43のいずれか1の請求項に記載の方法。
- 前記非安全モードでの例外処理が生じ得るように、前記安全モードにおける処理を停止したときに、前記モニタモードを介して前記非安全モードへの切り換えを行い、前記モニタモードへ制御を戻すことを終了したときに前記例外処理が作動可能である、請求項34〜44のいずれか1の請求項に記載の方法。
- 前記プロセッサが前記安全ドメインで作動しているかあるいは前記非安全ドメインで作動しているのかを表示する安全ステータスフラグを含み、前記プロセッサが前記モニタモードで作動しているときは前記安全ステータスフラグを書き込むことができ、前記プロセッサが前記モニタモード以外のモードで作動しているときは前記安全ステータスフラグを書き込みできない、請求項34〜46のいずれか1の請求項に記載の方法。
- 前記少なくとも1つの非安全モードで作動中に、非安全オペレーティングシステムが前記プロセッサを制御する、請求項34〜46のいずれか1の請求項に記載の方法。
- 前記少なくとも1つの安全モードで作動中に、安全オペレーティングシステムが前記プロセッサを制御する、請求項34〜47のいずれか1の請求項に記載の方法。
- 前記モニタプログラムが前記安全オペレーティングシステムの一部である、請求項48記載の方法。
- 前記プロセッサが例外処理をトリガーするよう、1つ以上の例外条件に応答する、請求項34〜49のいずれか1の請求項に記載の方法。
- 前記モニタモードにおいて、前記例外条件のうち少なくとも1つがディスエーブルされる、請求項50記載の方法。
- 対応する汎用レジスタ内のデータをオーバーライトすることなく、複数の専用レジスタを、前記モニタプログラムによる使用のために利用できるよう、前記モニタモードに入るときに前記レジスタバンク内の前記対応する汎用レジスタの代わりとなる複数の専用レジスタを前記プロセッサが有する、請求項35および請求項51記載の方法。
- 前記モニタモードで実行中の例外ハンドラーによって前記例外のどれを取り扱うべきか、および例外が発生したときに前記安全ドメインおよび前記非安全ドメインのうちのそのときの1つの内部にて、あるモードで実行中の例外ハンドラーにより前記例外のうちのどれを処理すべきかを指定する1つ以上のパラメータを例外トラップマスクレジスタが記憶する、請求項50、51および52のいずれかに1の請求項記載の方法。
- 前記モニタモードに入ること、および前記モニタプログラムの実行をトリガーするようになっている安全例外条件に前記プロセッサが応答する、請求項50〜53のいずれか1の請求項に記載の方法。
- 前記モニタモードに入り、所定のロケーションにおいて前記モニタプログラムの実行をスタートするためのモニタモード進入命令に前記プロセッサが応答する、請求項34〜54のいずれか1の請求項に記載の方法。
- 前記モニタモード進入命令がソフトウェアインターラプト命令を切り換えるモードであり、前記所定のロケーションが前記モード切り換えソフトウェアインターラプト命令に関連するモード切り換えソフトウェアインターラプトベクトルである、請求項55記載の方法。
- 前記プロセッサが安全モードであるかあるいは非安全モードであるかに応じて、異なるモード切り換えソフトウェアインターラプトベクトルが前記モード切り換えソフトウェアインターラプト命令に関連する、請求項56記載の方法。
- 前記少なくとも1つの安全モードが、
安全スーパーバイザーモードと、
安全システムモードと、
安全アボート例外モードと、
安全無定義例外モードと、
安全インターラプトモードと、
安全高速インターラプトモードと、
安全ユーザーモードのうちの1つ以上を含む、請求項34〜57のいずれか1の請求項に記載の方法。 - 前記少なくとも1つの非安全モードが、
非安全スーパーバイザーモードと、
非安全ステムモードと、
非安全アボート例外モードと、
非安全無定義例外モードと、
非安全インターラプトモードと、
非安全高速インターラプトモードと、
非安全ユーザーモードのうちの1つ以上を含む、請求項34〜58のいずれか1の請求項に記載の方法。 - 前記安全ドメインから前記非安全ドメインに変わることのできない前記安全ドメイン内で前記プロセッサが少なくとも1つの特権安全モードで作動でき、前記特権安全モードがプログラム実行ポイントをリダイレクトすることなく前記特権安全モードから前記モニタモードへの変更を許可する特権を有する、請求項34記載の方法。
- 前記モニタモードであるときに、前記プロセッサが前記安全ドメインと前記非安全ドメインとを切り換えるためのセキュリティフラグを変更し、前記セキュリティフラグが前記モニタモードの外部から書き込みアクセスできない、請求項60記載の方法。
- 前記ソフトウェアインターラプト命令に関連するインターラプトベクトルによって指定されるプログラム実行ポイントをリダイレクトすることにより、前記モニタモードへの切り換えを実行するためのソフトウェア割り込み命令に前記プロセッサが応答する、請求項60および61のいずれか1の請求項に記載の方法。
- 前記非安全ドメインが少なくとも1つの特権非安全モードを含み、プログラム実行ポイントをリダイレクトすることなく、特権非安全モードから前記モニタモードへの変更を行うことができない、請求項60、61および62のいずれか1の請求項に記載の方法。
- リセット時に前記プロセッサが前記特権安全モードに入る、請求項60〜63のいずれか1の請求項に記載の方法。
- 前記安全ドメインから前記非安全ドメインへ切り換える前に、前記モニタモードで実行中のモニタプログラムが前記特権安全モードへの切り換えを行い、前記特権安全モードが前記非安全ドメインへの変更のために前記モニタモードに戻るように切り換わる前に、前記モニタモードからアクセスできないコンフィギュレーションデータのセーブを可能にする、請求項60〜64のいずれか1の請求項に記載の方法。
- 前記モニタモードでアクセスできるメモリ領域が、前記特権安全モードでもアクセスできる。請求項60〜65のいずれか1の請求項に記載の方法。
- 請求項34〜66のいずれか1の請求項に記載の方法に従ってデータ処理装置を制御するコンピュータプログラムを有するコンピュータプログラム製品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0226874.6A GB0226874D0 (en) | 2002-11-18 | 2002-11-18 | Switching between secure and non-secure processing modes |
GB0303494A GB0303494D0 (en) | 2002-11-18 | 2003-02-14 | Data processing system |
PCT/GB2003/004615 WO2004046924A1 (en) | 2002-11-18 | 2003-10-27 | Processor switching between secure and non-secure modes |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006506751A true JP2006506751A (ja) | 2006-02-23 |
JP2006506751A5 JP2006506751A5 (ja) | 2009-03-19 |
JP4423206B2 JP4423206B2 (ja) | 2010-03-03 |
Family
ID=32328069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004570292A Expired - Lifetime JP4423206B2 (ja) | 2002-11-18 | 2003-10-27 | 安全モードと非安全モードとを切り換えるプロセッサ |
Country Status (11)
Country | Link |
---|---|
US (1) | US7849310B2 (ja) |
EP (1) | EP1563375B1 (ja) |
JP (1) | JP4423206B2 (ja) |
KR (1) | KR100955284B1 (ja) |
AU (1) | AU2003274383A1 (ja) |
DE (1) | DE60308215T2 (ja) |
GB (1) | GB2402785B (ja) |
IL (1) | IL164512A (ja) |
RU (1) | RU2005115083A (ja) |
TW (1) | TWI275997B (ja) |
WO (1) | WO2004046924A1 (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163741A (ja) * | 2008-01-02 | 2009-07-23 | Arm Ltd | セキュアモードおよびノンセキュアモードでデータを処理するデータプロセッサを含むデータ処理装置及びデータ処理方法 |
JP2009211698A (ja) * | 2008-02-29 | 2009-09-17 | Arm Ltd | データ処理装置および処理回路上で実行される仮想機械によるセキュア・メモリへのアクセス制御方法 |
JP2014506704A (ja) * | 2011-02-24 | 2014-03-17 | トラストニック リミテッド | セキュアランタイム環境でのデータ交換方法 |
JP2014191509A (ja) * | 2013-03-26 | 2014-10-06 | Toshiba Corp | 情報処理装置、情報処理プログラム |
JP2015511049A (ja) * | 2012-03-21 | 2015-04-13 | マイクロチップ テクノロジー インコーポレイテッドMicrochip Technology Incorporated | コンテキストスイッチを伴うマイクロコントローラ |
US9256731B2 (en) | 2013-06-03 | 2016-02-09 | Socionext Inc. | System, information processing apparatus, secure module, and verification method |
JP2016510469A (ja) * | 2013-02-05 | 2016-04-07 | エイアールエム リミテッド | メモリ保護ユニットを使用して、仮想化をサポートするゲスト・オペレーティング・システム |
US9489505B2 (en) | 2011-04-21 | 2016-11-08 | Trustonic Limited | Method for displaying information on a display device of a terminal |
US9875366B2 (en) | 2011-10-07 | 2018-01-23 | Trustonic Limited | Microprocessor system with secured runtime environment |
JP2020504394A (ja) * | 2017-01-13 | 2020-02-06 | エイアールエム リミテッド | メモリシステムリソースの分割または性能監視 |
JP2020504396A (ja) * | 2017-01-13 | 2020-02-06 | エイアールエム リミテッド | メモリシステムリソースの分割または性能監視 |
JP7498181B2 (ja) | 2019-02-01 | 2024-06-11 | アーム・リミテッド | セキュア及びノンセキュア・ストレージのためのルックアップ回路 |
Families Citing this family (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
DE60304602T2 (de) * | 2002-11-18 | 2006-12-28 | Arm Ltd., Cherry Hinton | Ausnahmearten innerhalb eines sicheren verarbeitungssystems |
EP1496435A1 (en) * | 2003-07-11 | 2005-01-12 | Yogitech Spa | Dependable microcontroller, method for designing a dependable microcontroller and computer program product therefor |
KR101037006B1 (ko) * | 2003-11-28 | 2011-05-25 | 파나소닉 주식회사 | 데이터 처리장치 |
US20050198461A1 (en) * | 2004-01-12 | 2005-09-08 | Shaw Mark E. | Security measures in a partitionable computing system |
US7178015B2 (en) * | 2004-01-12 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | Security measures in a partitionable computing system |
US7296146B2 (en) * | 2004-01-12 | 2007-11-13 | Hewlett-Packard Development Company, L.P. | Security measures in a partitionable computing system |
US20050154910A1 (en) * | 2004-01-12 | 2005-07-14 | Shaw Mark E. | Security measures in a partitionable computing system |
JP4447977B2 (ja) * | 2004-06-30 | 2010-04-07 | 富士通マイクロエレクトロニクス株式会社 | セキュアプロセッサ、およびセキュアプロセッサ用プログラム。 |
EP1628235A1 (en) * | 2004-07-01 | 2006-02-22 | Texas Instruments Incorporated | Method and system of ensuring integrity of a secure mode entry sequence |
EP1612638B1 (en) | 2004-07-01 | 2011-03-09 | Texas Instruments Incorporated | Method and system of verifying proper execution of a secure mode entry sequence |
EP1619572A1 (en) * | 2004-07-23 | 2006-01-25 | Texas Instruments Incorporated | System and method of identifying and preventing security violations within a computing system |
US7484247B2 (en) * | 2004-08-07 | 2009-01-27 | Allen F Rozman | System and method for protecting a computer system from malicious software |
WO2006018307A2 (en) * | 2004-08-18 | 2006-02-23 | Jaluna Sa | Operating systems |
WO2006057316A1 (ja) * | 2004-11-26 | 2006-06-01 | Matsushita Electric Industrial Co., Ltd. | プロセッサ、セキュア処理システム |
FR2884628A1 (fr) * | 2005-04-18 | 2006-10-20 | St Microelectronics Sa | Procede de traitement d'interruptions non securisees par un processeur operant dans le mode securise, processeur associe. |
CN101233525A (zh) * | 2005-05-26 | 2008-07-30 | 松下电器产业株式会社 | 数据处理装置 |
US7962746B2 (en) * | 2005-06-01 | 2011-06-14 | Panasonic Corporation | Computer system and program creating device |
US20070067826A1 (en) * | 2005-09-19 | 2007-03-22 | Texas Instruments Incorporated | Method and system for preventing unsecure memory accesses |
US8019947B2 (en) * | 2005-10-19 | 2011-09-13 | Intel Corporation | Technique for thread communication and synchronization |
US20070226795A1 (en) * | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
WO2007130386A2 (en) * | 2006-05-01 | 2007-11-15 | Mediatek Inc. | Method and apparatus for secure context switching in a system including a processor and cached virtual memory |
US20140373144A9 (en) | 2006-05-22 | 2014-12-18 | Alen Capalik | System and method for analyzing unauthorized intrusion into a computer network |
EP1865435A1 (en) * | 2006-06-06 | 2007-12-12 | Texas Instruments France | Enhanced exception handling |
US7529916B2 (en) * | 2006-08-16 | 2009-05-05 | Arm Limited | Data processing apparatus and method for controlling access to registers |
US20090307770A1 (en) * | 2006-08-17 | 2009-12-10 | Peter William Harris | Apparatus and method for performing integrity checks on sofware |
DE102006049646B3 (de) * | 2006-10-20 | 2008-06-19 | Siemens Ag | Verfahren und Sendevorrichtung zum gesicherten Erstellen und Versenden einer elektronischen Nachricht sowie Verfahren und Empfangsvorrichtung zum gesicherten Empfangen und Verarbeiten einer elektronischen Nachricht |
JP2008152462A (ja) | 2006-12-15 | 2008-07-03 | Ntt Docomo Inc | 遠隔起動システム、遠隔起動サーバ及び通信端末 |
US7689733B2 (en) * | 2007-03-09 | 2010-03-30 | Microsoft Corporation | Method and apparatus for policy-based direct memory access control |
US8255988B2 (en) * | 2007-03-28 | 2012-08-28 | Microsoft Corporation | Direct peripheral communication for restricted mode operation |
JP5049185B2 (ja) * | 2007-04-19 | 2012-10-17 | パナソニック株式会社 | 情報セキュリティ装置、セキュリティシステム及び入力情報漏洩防止方法 |
EP1986122A1 (fr) * | 2007-04-23 | 2008-10-29 | Stmicroelectronics Sa | Unite de traitement securisee |
EP2624166B1 (en) | 2007-05-11 | 2014-12-17 | Nagrastar L.L.C. | Method for controlling execution by a processor in a secure environment |
FR2919951B1 (fr) * | 2007-08-08 | 2012-12-21 | Airbus France | Systeme de traitement et d'affichage de donnees |
US20090204823A1 (en) * | 2008-02-07 | 2009-08-13 | Analog Devices, Inc. | Method and apparatus for controlling system access during protected modes of operation |
US8555380B2 (en) * | 2008-02-28 | 2013-10-08 | Intel Corporation | Automatic modification of executable code |
US8468356B2 (en) * | 2008-06-30 | 2013-06-18 | Intel Corporation | Software copy protection via protected execution of applications |
US9286080B2 (en) * | 2008-07-02 | 2016-03-15 | Hewlett-Packard Development Company, L.P. | Memory management for hypervisor loading |
US8843742B2 (en) | 2008-08-26 | 2014-09-23 | Hewlett-Packard Company | Hypervisor security using SMM |
KR100966014B1 (ko) * | 2008-09-11 | 2010-06-24 | 현대중공업 주식회사 | 프로그램의 동작 목적에 따른 프로세스 제어기반 파일시스템 제어기 |
US9166797B2 (en) * | 2008-10-24 | 2015-10-20 | Microsoft Technology Licensing, Llc | Secured compartment for transactions |
KR20100124052A (ko) * | 2009-05-18 | 2010-11-26 | 삼성전자주식회사 | 플랫폼에 비종속적인 보안 환경 제공 장치 및 방법 |
US8499304B2 (en) * | 2009-12-15 | 2013-07-30 | At&T Mobility Ii Llc | Multiple mode mobile device |
US8587409B2 (en) | 2010-03-08 | 2013-11-19 | Electronics And Telecommunications Research Institute | Radio security leader controlling operation mode, and radio security tag supporting security mode and normal mode |
DE102010028231A1 (de) * | 2010-04-27 | 2011-10-27 | Robert Bosch Gmbh | Speichermodul zur gleichzeitigen Bereitstellung wenigstens eines sicheren und wenigstens eines unsicheren Speicherbereichs |
US9054881B2 (en) | 2010-05-14 | 2015-06-09 | Electronics And Telecommunications Research Institute | Radio frequency identification (RFID) tag and interrogator for supporting normal mode and secure mode, and operation method thereof |
US8789189B2 (en) * | 2010-06-24 | 2014-07-22 | NeurallQ, Inc. | System and method for sampling forensic data of unauthorized activities using executability states |
US9106697B2 (en) | 2010-06-24 | 2015-08-11 | NeurallQ, Inc. | System and method for identifying unauthorized activities on a computer system using a data structure model |
DE102011012226A1 (de) * | 2011-02-24 | 2012-08-30 | Giesecke & Devrient Gmbh | Verfahren zum Betrieb einer Mikroprozessoreinheit, insbesondere in einem mobilen Endgerät |
US8914876B2 (en) | 2011-05-05 | 2014-12-16 | Ebay Inc. | System and method for transaction security enhancement |
US9158924B2 (en) | 2011-05-25 | 2015-10-13 | Panasonic Intellectual Property Management Co., Ltd. | Information processing apparatus and information processing method |
US8495443B1 (en) | 2011-05-31 | 2013-07-23 | Apple Inc. | Secure register scan bypass |
US20140201087A1 (en) * | 2011-08-10 | 2014-07-17 | Nautilus Hyosung Inc. | Touch screen having integrated epp, and input information processing method for automated teller machine using same |
KR101495653B1 (ko) * | 2011-12-28 | 2015-02-26 | 노틸러스효성 주식회사 | Epp 일체형 터치스크린이 구비된 금융자동화기기의 고객 정보 해킹 방지 방법 |
US8930318B1 (en) * | 2011-09-29 | 2015-01-06 | Google Inc. | Systems and methods for handling interruptions while updating of an electronic device |
DE102011116489A1 (de) * | 2011-10-20 | 2013-04-25 | Giesecke & Devrient Gmbh | Mobiles Endgerät, Transaktionsterminal und Verfahren zur Durchführung einer Transaktion an einem Transaktionsterminal mittels eines mobilen Endgeräts |
US9143943B2 (en) * | 2011-11-29 | 2015-09-22 | Dell Products L.P. | Mode sensitive networking |
GB2497736A (en) * | 2011-12-16 | 2013-06-26 | St Microelectronics Ltd | Hardware monitor with context selector for selecting from multiple contexts |
US9141559B2 (en) | 2012-01-04 | 2015-09-22 | Intel Corporation | Increasing virtual-memory efficiencies |
EP2801025B1 (en) * | 2012-01-04 | 2018-10-24 | Intel Corporation | Increasing virtual-memory efficiencies |
GB2501343A (en) * | 2012-02-08 | 2013-10-23 | Advanced Risc Mach Ltd | Data processing apparatus and method using secure domain and less secure domain |
US9213828B2 (en) * | 2012-02-08 | 2015-12-15 | Arm Limited | Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains |
US9116711B2 (en) * | 2012-02-08 | 2015-08-25 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
US8667270B2 (en) | 2012-02-10 | 2014-03-04 | Samsung Electronics Co., Ltd. | Securely upgrading or downgrading platform components |
US20130219177A1 (en) * | 2012-02-16 | 2013-08-22 | Samsung Electronics Co. Ltd. | Secure data processing device and method |
KR101259824B1 (ko) * | 2012-02-24 | 2013-04-30 | 주식회사 텔스카 | 시큐어 os를 이용한 모바일 디바이스의 비밀번호 입력 시스템 및 입력 방법 |
GB2501274B (en) | 2012-04-17 | 2020-05-13 | Advanced Risc Mach Ltd | Management of data processing security in a secondary processor |
US9075992B2 (en) * | 2012-05-01 | 2015-07-07 | Harris Corporation | Systems and methods for identifying, deterring and/or delaying attacks to a network using shadow networking techniques |
KR101907486B1 (ko) * | 2012-09-14 | 2018-10-12 | 한국전자통신연구원 | 보안성이 우수한 실행환경을 제공하는 이동 컴퓨팅 시스템 |
KR101954733B1 (ko) | 2012-10-26 | 2019-03-06 | 삼성전자주식회사 | 보안 콘텐츠를 처리하는 시스템 온 칩 및 그것을 포함하는 모바일 장치 |
US9886595B2 (en) * | 2012-12-07 | 2018-02-06 | Samsung Electronics Co., Ltd. | Priority-based application execution method and apparatus of data processing device |
US9268707B2 (en) | 2012-12-29 | 2016-02-23 | Intel Corporation | Low overhead paged memory runtime protection |
US8931108B2 (en) * | 2013-02-18 | 2015-01-06 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US9536075B2 (en) * | 2013-03-01 | 2017-01-03 | Infineon Technologies Ag | Dynamic resource sharing |
US9892284B2 (en) * | 2013-03-11 | 2018-02-13 | Lantiq Beteiligungs-GmbH & Co. KG | Trusted execution thread in an embedded multithreaded system |
US9298911B2 (en) | 2013-03-15 | 2016-03-29 | Intel Corporation | Method, apparatus, system, and computer readable medium for providing apparatus security |
CN104243151B (zh) * | 2013-06-06 | 2018-02-06 | 中国银联股份有限公司 | 一种基于移动设备的认证方法和认证装置 |
WO2014204363A1 (en) * | 2013-06-19 | 2014-12-24 | Telefonaktiebolaget L M Ericsson (Publ) | Method and an integrated circuit for executing a trusted application within a trusted runtime environment |
JP6117068B2 (ja) * | 2013-09-20 | 2017-04-19 | 株式会社東芝 | 情報処理装置、およびプログラム |
JP6129702B2 (ja) * | 2013-09-24 | 2017-05-17 | 株式会社東芝 | 情報処理装置、情報処理システム、プログラム |
KR101489887B1 (ko) * | 2014-01-23 | 2015-02-06 | 고려대학교 산학협력단 | 인터럽트 처리 시스템 및 방법 |
US9268970B2 (en) * | 2014-03-20 | 2016-02-23 | Analog Devices, Inc. | System and method for security-aware master |
US20150268706A1 (en) * | 2014-03-24 | 2015-09-24 | Qualcomm Incorporated | System and method for memory power management in a system on a chip with multiple execution environments |
US9720868B2 (en) | 2014-07-07 | 2017-08-01 | Xilinx, Inc. | Bridging inter-bus communications |
US10277616B2 (en) | 2014-09-25 | 2019-04-30 | Vigilant Ip Holdings Llc | Secure digital traffic analysis |
US10394635B2 (en) | 2014-10-29 | 2019-08-27 | Hewlett Packard Enterprise Development Lp | CPU with external fault response handling |
CN104468997B (zh) * | 2014-12-01 | 2017-09-19 | 努比亚技术有限公司 | 加密状态处理方法及装置 |
KR102327334B1 (ko) * | 2014-12-31 | 2021-11-17 | 삼성전자주식회사 | 디스플레이 컨트롤러 및 이를 포함하는 반도체 집적회로 장치 |
CA2973367A1 (en) | 2015-01-07 | 2016-07-14 | Countertack Inc. | System and method for monitoring a computer system using machine interpretable code |
SG10201500698YA (en) * | 2015-01-29 | 2016-08-30 | Huawei Internat Pte Ltd | Method for data protection using isolated environment in mobile device |
US10754991B2 (en) * | 2015-02-11 | 2020-08-25 | Siemens Aktiengesellschaft | Method to isolate real-time or safety-critical software and operating system from non-critical software and operating system |
WO2016140548A1 (ko) * | 2015-03-05 | 2016-09-09 | 삼성전자 주식회사 | 사용자 디바이스에 보안 모드를 제공하기 위한 방법 및 장치 |
GB2536215B (en) * | 2015-03-05 | 2018-01-31 | Samsung Electronics Co Ltd | Secure input mode for user device |
US9584628B2 (en) * | 2015-03-17 | 2017-02-28 | Freescale Semiconductor, Inc. | Zero-copy data transmission system |
US10063569B2 (en) * | 2015-03-24 | 2018-08-28 | Intel Corporation | Custom protection against side channel attacks |
US10078597B2 (en) * | 2015-04-03 | 2018-09-18 | Via Alliance Semiconductor Co., Ltd. | System and method of distinguishing system management mode entries in a translation address cache of a processor |
US10572691B2 (en) * | 2015-04-28 | 2020-02-25 | Microsoft Technology Licensing, Llc | Operating system privacy mode |
US10366244B2 (en) * | 2015-06-09 | 2019-07-30 | International Business Machines Corporation | Performing an operation on sensitive data |
GB2539657B (en) * | 2015-06-22 | 2018-03-07 | Advanced Risc Mach Ltd | Tracing Processing Activity |
KR102130744B1 (ko) | 2015-07-21 | 2020-07-06 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
US9767320B2 (en) | 2015-08-07 | 2017-09-19 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
US10102391B2 (en) | 2015-08-07 | 2018-10-16 | Qualcomm Incorporated | Hardware enforced content protection for graphics processing units |
WO2017034008A1 (ja) * | 2015-08-25 | 2017-03-02 | 株式会社Seltech | ハイパーバイザーを有するシステム |
KR102429906B1 (ko) | 2015-10-13 | 2022-08-05 | 삼성전자주식회사 | 스토리지 장치, 상기 스토리지 장치와 통신하는 호스트 및 상기 스토리지 장치를 포함하는 전자 장치 |
CN105447406B (zh) * | 2015-11-10 | 2018-10-19 | 华为技术有限公司 | 一种用于访问存储空间的方法与装置 |
GB2557305A (en) * | 2016-12-05 | 2018-06-20 | Nordic Semiconductor Asa | Memory protection logic |
KR20180071679A (ko) * | 2016-12-20 | 2018-06-28 | 삼성전자주식회사 | 사용자 단말 장치 및 그의 제어 방법 |
WO2018119904A1 (zh) * | 2016-12-29 | 2018-07-05 | 华为技术有限公司 | 一种实现安全操作系统切换的片上系统和方法 |
RU2641226C1 (ru) * | 2017-02-13 | 2018-01-16 | Самсунг Электроникс Ко., Лтд. | Способ функционирования secureos на многопроцессорных системах в мобильных устройствах |
US10740496B2 (en) | 2017-02-13 | 2020-08-11 | Samsung Electronics Co., Ltd. | Method and apparatus for operating multi-processor system in electronic device |
US20180275731A1 (en) * | 2017-03-21 | 2018-09-27 | Hewlett Packard Enterprise Development Lp | Processor reset vectors |
US10387689B2 (en) * | 2017-09-22 | 2019-08-20 | Tocreo Labs, L.L.C. | NFC cryptographic security module |
US10601592B2 (en) * | 2017-09-08 | 2020-03-24 | Kenneth Hugh Rose | System and method trusted workspace in commercial mobile devices |
US10783240B2 (en) | 2017-09-29 | 2020-09-22 | Stmicroelectronics, Inc. | Secure environment in a non-secure microcontroller |
US11347507B2 (en) * | 2018-03-15 | 2022-05-31 | SiFive, Inc. | Secure control flow prediction |
SG10201808256PA (en) * | 2018-09-21 | 2020-04-29 | Singapore Management Univ | Method and system for dynamically detecting, analyzing, monitoring, investigating and/or executing a live target program |
US11307904B2 (en) | 2018-12-18 | 2022-04-19 | Ati Technologies Ulc | Configurable peripherals |
US11048515B2 (en) | 2018-12-28 | 2021-06-29 | SiFive, Inc. | Way predictor and enable logic for instruction tightly-coupled memory and instruction cache |
US11288404B2 (en) | 2019-06-14 | 2022-03-29 | Infineon Technologies Ag | Resource protection |
US11216280B2 (en) * | 2019-11-26 | 2022-01-04 | Arm Limited | Exception interception |
GB2589895B (en) * | 2019-12-11 | 2022-03-16 | Advanced Risc Mach Ltd | Intermodal calling branch instruction |
US11604505B2 (en) * | 2020-12-29 | 2023-03-14 | Qualcomm Incorporated | Processor security mode based memory operation management |
US11921655B2 (en) | 2021-05-04 | 2024-03-05 | Stmicroelectronics, Inc. | Dynamic memory protection device system and method |
US11914686B2 (en) * | 2021-10-15 | 2024-02-27 | Pure Storage, Inc. | Storage node security statement management in a distributed storage cluster |
FR3129499B1 (fr) * | 2021-11-25 | 2024-06-28 | Stmicroelectronics Grand Ouest Sas | Gestion dynamique d’un pare-feu de mémoire |
CN115617560A (zh) * | 2022-11-02 | 2023-01-17 | 地平线征程(杭州)人工智能科技有限公司 | 一种芯片监控方法及装置 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6336180B1 (en) * | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
US4279016A (en) * | 1979-06-21 | 1981-07-14 | International Business Machines Corporation | Instruction pre-fetch microprocessor interrupt system |
WO1990005951A1 (en) | 1988-11-14 | 1990-05-31 | Heinrich Hummel | Method of handling unintended software interrupt exceptions |
JP3230262B2 (ja) | 1992-01-24 | 2001-11-19 | ソニー株式会社 | 電子装置及びその固定情報修正方法 |
JPH08249280A (ja) * | 1994-10-28 | 1996-09-27 | Internatl Business Mach Corp <Ibm> | データ処理装置の電子キー |
US5615263A (en) * | 1995-01-06 | 1997-03-25 | Vlsi Technology, Inc. | Dual purpose security architecture with protected internal operating system |
US5684948A (en) * | 1995-09-01 | 1997-11-04 | National Semiconductor Corporation | Memory management circuit which provides simulated privilege levels |
US5724027A (en) * | 1995-09-28 | 1998-03-03 | Intel Corporation | Method and apparatus for providing system security to personal computer systems using transparent system interrupt |
US5734910A (en) * | 1995-12-22 | 1998-03-31 | International Business Machines Corporation | Integrating multi-modal synchronous interrupt handlers for computer system |
US5953502A (en) * | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
IL126149A (en) * | 1997-09-09 | 2003-07-31 | Sanctum Ltd | Method and system for protecting operations of trusted internal networks |
US6282657B1 (en) * | 1997-09-16 | 2001-08-28 | Safenet, Inc. | Kernel mode protection |
JP2000076087A (ja) | 1998-08-28 | 2000-03-14 | Hitachi Ltd | マルチオペレーティングシステム制御方法 |
US6775779B1 (en) * | 1999-04-06 | 2004-08-10 | Microsoft Corporation | Hierarchical trusted code for content protection in computers |
SE515327C2 (sv) * | 1999-08-27 | 2001-07-16 | Ericsson Telefon Ab L M | Anordning för att utföra säkra transaktioner i en kommunikationsanordning |
EP1240583A2 (en) * | 1999-12-23 | 2002-09-18 | General Instrument Corporation | Dual-mode processor |
WO2002071211A2 (en) | 2000-11-20 | 2002-09-12 | Zucotto Wireless, Inc. | Data processor having multiple operating modes |
JP2002182560A (ja) | 2000-12-12 | 2002-06-26 | Hitachi Ltd | 暗号処理機能を備えた情報サーバ装置 |
JP2002202959A (ja) | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
US6925570B2 (en) * | 2001-05-15 | 2005-08-02 | International Business Machines Corporation | Method and system for setting a secure computer environment |
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
US7165135B1 (en) * | 2002-04-18 | 2007-01-16 | Advanced Micro Devices, Inc. | Method and apparatus for controlling interrupts in a secure execution mode-capable processor |
DE60304602T2 (de) * | 2002-11-18 | 2006-12-28 | Arm Ltd., Cherry Hinton | Ausnahmearten innerhalb eines sicheren verarbeitungssystems |
US7370210B2 (en) * | 2002-11-18 | 2008-05-06 | Arm Limited | Apparatus and method for managing processor configuration data |
GB2396713B (en) * | 2002-11-18 | 2005-09-14 | Advanced Risc Mach Ltd | Apparatus and method for controlling access to a memory unit |
AU2003278342A1 (en) * | 2002-11-18 | 2004-06-15 | Arm Limited | Security mode switching via an exception vector |
GB2396930B (en) * | 2002-11-18 | 2005-09-07 | Advanced Risc Mach Ltd | Apparatus and method for managing access to a memory |
US7121639B2 (en) * | 2002-12-02 | 2006-10-17 | Silverbrook Research Pty Ltd | Data rate equalisation to account for relatively different printhead widths |
US7322042B2 (en) * | 2003-02-07 | 2008-01-22 | Broadon Communications Corp. | Secure and backward-compatible processor and secure software execution thereon |
EP1496435A1 (en) * | 2003-07-11 | 2005-01-12 | Yogitech Spa | Dependable microcontroller, method for designing a dependable microcontroller and computer program product therefor |
US7178015B2 (en) * | 2004-01-12 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | Security measures in a partitionable computing system |
US7296146B2 (en) * | 2004-01-12 | 2007-11-13 | Hewlett-Packard Development Company, L.P. | Security measures in a partitionable computing system |
US7653802B2 (en) * | 2004-08-27 | 2010-01-26 | Microsoft Corporation | System and method for using address lines to control memory usage |
US20070266444A1 (en) * | 2004-12-03 | 2007-11-15 | Moshe Segal | Method and System for Securing Data Stored in a Storage Device |
EP1865435A1 (en) * | 2006-06-06 | 2007-12-12 | Texas Instruments France | Enhanced exception handling |
US7529916B2 (en) * | 2006-08-16 | 2009-05-05 | Arm Limited | Data processing apparatus and method for controlling access to registers |
US7689733B2 (en) * | 2007-03-09 | 2010-03-30 | Microsoft Corporation | Method and apparatus for policy-based direct memory access control |
-
2003
- 2003-10-27 GB GB0421627A patent/GB2402785B/en not_active Revoked
- 2003-10-27 DE DE60308215T patent/DE60308215T2/de not_active Expired - Lifetime
- 2003-10-27 AU AU2003274383A patent/AU2003274383A1/en not_active Abandoned
- 2003-10-27 RU RU2005115083/09A patent/RU2005115083A/ru not_active Application Discontinuation
- 2003-10-27 KR KR1020057008760A patent/KR100955284B1/ko active IP Right Grant
- 2003-10-27 JP JP2004570292A patent/JP4423206B2/ja not_active Expired - Lifetime
- 2003-10-27 WO PCT/GB2003/004615 patent/WO2004046924A1/en active IP Right Grant
- 2003-10-27 EP EP03758367A patent/EP1563375B1/en not_active Expired - Lifetime
- 2003-11-17 TW TW092132187A patent/TWI275997B/zh not_active IP Right Cessation
- 2003-11-17 US US10/714,518 patent/US7849310B2/en active Active
-
2004
- 2004-10-12 IL IL164512A patent/IL164512A/en active IP Right Grant
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163741A (ja) * | 2008-01-02 | 2009-07-23 | Arm Ltd | セキュアモードおよびノンセキュアモードでデータを処理するデータプロセッサを含むデータ処理装置及びデータ処理方法 |
US8775824B2 (en) | 2008-01-02 | 2014-07-08 | Arm Limited | Protecting the security of secure data sent from a central processor for processing by a further processing device |
JP2009211698A (ja) * | 2008-02-29 | 2009-09-17 | Arm Ltd | データ処理装置および処理回路上で実行される仮想機械によるセキュア・メモリへのアクセス制御方法 |
US8418175B2 (en) | 2008-02-29 | 2013-04-09 | Arm Limited | Data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuirty |
JP2014506704A (ja) * | 2011-02-24 | 2014-03-17 | トラストニック リミテッド | セキュアランタイム環境でのデータ交換方法 |
US9489505B2 (en) | 2011-04-21 | 2016-11-08 | Trustonic Limited | Method for displaying information on a display device of a terminal |
US9875366B2 (en) | 2011-10-07 | 2018-01-23 | Trustonic Limited | Microprocessor system with secured runtime environment |
JP2015511049A (ja) * | 2012-03-21 | 2015-04-13 | マイクロチップ テクノロジー インコーポレイテッドMicrochip Technology Incorporated | コンテキストスイッチを伴うマイクロコントローラ |
JP2016510469A (ja) * | 2013-02-05 | 2016-04-07 | エイアールエム リミテッド | メモリ保護ユニットを使用して、仮想化をサポートするゲスト・オペレーティング・システム |
JP2014191509A (ja) * | 2013-03-26 | 2014-10-06 | Toshiba Corp | 情報処理装置、情報処理プログラム |
US9256731B2 (en) | 2013-06-03 | 2016-02-09 | Socionext Inc. | System, information processing apparatus, secure module, and verification method |
JP2020504394A (ja) * | 2017-01-13 | 2020-02-06 | エイアールエム リミテッド | メモリシステムリソースの分割または性能監視 |
JP2020504396A (ja) * | 2017-01-13 | 2020-02-06 | エイアールエム リミテッド | メモリシステムリソースの分割または性能監視 |
JP7065098B2 (ja) | 2017-01-13 | 2022-05-11 | アーム・リミテッド | メモリシステムリソースの分割または性能監視 |
JP7065099B2 (ja) | 2017-01-13 | 2022-05-11 | アーム・リミテッド | メモリシステムリソースの分割または性能監視 |
JP7498181B2 (ja) | 2019-02-01 | 2024-06-11 | アーム・リミテッド | セキュア及びノンセキュア・ストレージのためのルックアップ回路 |
Also Published As
Publication number | Publication date |
---|---|
GB2402785B (en) | 2005-12-07 |
KR20050086673A (ko) | 2005-08-30 |
GB0421627D0 (en) | 2004-10-27 |
DE60308215T2 (de) | 2007-08-23 |
IL164512A (en) | 2010-02-17 |
JP4423206B2 (ja) | 2010-03-03 |
WO2004046924A1 (en) | 2004-06-03 |
TW200411555A (en) | 2004-07-01 |
KR100955284B1 (ko) | 2010-04-30 |
EP1563375B1 (en) | 2006-09-06 |
AU2003274383A1 (en) | 2004-06-15 |
TWI275997B (en) | 2007-03-11 |
RU2005115083A (ru) | 2006-01-20 |
IL164512A0 (en) | 2005-12-18 |
US7849310B2 (en) | 2010-12-07 |
GB2402785A (en) | 2004-12-15 |
EP1563375A1 (en) | 2005-08-17 |
US20040153672A1 (en) | 2004-08-05 |
DE60308215D1 (de) | 2006-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4423206B2 (ja) | 安全モードと非安全モードとを切り換えるプロセッサ | |
JP4447471B2 (ja) | 安全処理システムにおける例外タイプ | |
JP4302641B2 (ja) | デバイスによるメモリへのアクセスの制御 | |
JP4220476B2 (ja) | 安全ドメインおよび非安全ドメインを有するシステム内での仮想−物理メモリアドレスマッピング | |
JP4302493B2 (ja) | データ処理装置内のメモリへアクセスするための技術 | |
JP4424973B2 (ja) | マルチドメインプロセッサのためのモニタ制御 | |
JP4302492B2 (ja) | メモリへのアクセスを管理するための装置および方法 | |
JP4423012B2 (ja) | マルチドメインプロセッサのための診断データ捕捉制御 | |
JP4302494B2 (ja) | データ処理装置内のメモリへアクセスするための技術 | |
JP4299107B2 (ja) | サスペンドされたオペレーティングシステムへデータ処理リクエストを送る方法 | |
US7117284B2 (en) | Vectored interrupt control within a system having a secure domain and a non-secure domain | |
US7305712B2 (en) | Security mode switching via an exception vector | |
US7370210B2 (en) | Apparatus and method for managing processor configuration data | |
US7383587B2 (en) | Exception handling control in a secure processing system | |
JP2004171568A (ja) | 多数のオペレーティングシステムを使用するデータ処理システムにおける多数の割り込みの取り扱い | |
JP4299108B2 (ja) | 多数のオペレーティングシステムの間のタスクの追従 | |
IL167188A (en) | Exception types within a secure processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080725 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081022 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081029 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081120 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20081128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081225 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20081225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090710 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091124 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4423206 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131211 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |