JP6209611B2 - 安全なドメイン及びより安全性の低いドメインを有するデータ処理装置における例外処理 - Google Patents
安全なドメイン及びより安全性の低いドメインを有するデータ処理装置における例外処理 Download PDFInfo
- Publication number
- JP6209611B2 JP6209611B2 JP2015533681A JP2015533681A JP6209611B2 JP 6209611 B2 JP6209611 B2 JP 6209611B2 JP 2015533681 A JP2015533681 A JP 2015533681A JP 2015533681 A JP2015533681 A JP 2015533681A JP 6209611 B2 JP6209611 B2 JP 6209611B2
- Authority
- JP
- Japan
- Prior art keywords
- exception
- data
- processing
- secure domain
- state
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30101—Special purpose registers
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)
- Storage Device Security (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
Description
第1の態様から見ると、本発明は、以下を備えるデータ処理装置を提供する:
プログラム・コードに応答してデータ処理動作を実行するための処理回路であって、例外処理を制御するための例外制御回路を備える処理回路と、
データを記憶するための複数のレジスタであって、第1のサブセットのレジスタ及び第2のサブセットのレジスタを含むレジスタと、
データを記憶するためのデータ・ストアであって、安全な領域及びより安全性の低い領域を含む複数の領域を備えるデータ・ストアであり、その安全な領域が、安全なドメインで動作するときには処理回路によってアクセス可能であり、より安全性の低いドメインで動作するときには処理回路によってアクセス可能ではない、データを記憶することを目的とする、データ・ストアとを備え、
処理回路によって実行されるバックグラウンド処理からの最初の例外に応答して、例外制御回路が、処理回路をトリガしてその例外に対応する例外処理ルーチンを実行する前に第1のサブセットのレジスタからデータの状態保存を実行するように構成され、例外処理ルーチンが、第2のサブセットのレジスタからデータの状態保存を実行する責任を有し、
安全なドメインからより安全性の低いドメインへの遷移を引き起こす第1の例外に応答して、バックグラウンド処理が、その安全なドメインで処理回路によって実行され、例外制御回路が、処理回路をトリガしてより安全性の低いドメインで例外処理ルーチンを実行する前に第2のサブセットのレジスタからデータの追加の状態保存を実行するように構成され、そして、
安全なドメインからより安全性の低いドメインへの遷移を引き起こす末尾連鎖式例外に応答して、例外制御回路が、処理回路をトリガして、追加の状態保存を実行することなしに例外処理ルーチンを実行するように構成され、その末尾連鎖式例外が、前記第1の例外が処理された後に及びバックグラウンド処理に戻る前に処理される。
バックグラウンド処理が安全なドメイン内である、追加の状態保存のパフォーマンス・インパクトを低減するために、追加の状態保存は、安全なドメインからより安全性の低いドメインへの遷移を引き起こす第1の例外について実行される。安全なドメインからより安全性の低いドメインへの遷移を引き起こす次の末尾連鎖式例外では、バックグラウンド処理によって必要とされるデータ値は第1の例外に応答して既に保存されたので、追加の状態保存を繰り返す必要はない。したがって、多数の状況で、追加の状態保存を実行することなしに末尾連鎖式例外のための例外処理ルーチンをトリガすることが可能である。
(a)バックグラウンド処理が安全なドメインで実行された場合、及び、
(b)状態保存ステータス値が、例外がバックグラウンド処理の停止と新しい例外の入力の間により安全性の低いドメインで処理されなかったことを示す場合に、
実行され得る。
プログラム・コードに応答してデータ処理動作を実行するための処理手段であって、例外処理を制御するための例外制御手段を備える処理手段と、
データを記憶するための複数のレジスタ手段であって、第1のサブセットのレジスタ手段及び第2のサブセットのレジスタ手段を含むレジスタ手段と、
データを記憶するためのデータ記憶手段であり、安全な領域及びより安全性の低い領域を含む複数の領域を備えるデータ記憶手段であって、その安全な領域が、安全なドメインで動作するときに処理手段によってアクセス可能であり、より安全性の低いドメインで動作するときに処理手段によってアクセス可能ではないデータを記憶することを目的とする、データ記憶手段とを備え、
処理手段によって実行されるバックグラウンド処理からの最初の例外に応答して、例外制御手段が、その処理手段をトリガしてその例外に対応する例外処理ルーチンを実行する前に第1のサブセットのレジスタ手段からデータの状態保存を実行するように構成され、その例外処理ルーチンが、第2のサブセットのレジスタ手段からデータの状態保存を実行する責任を有し、
バックグラウンド処理が安全なドメインでその処理手段によって実行された、安全なドメインからより安全性の低いドメインへの遷移を引き起こす第1の例外に応答して、例外制御手段が、その処理手段をトリガしてより安全性の低いドメインで例外処理ルーチンを実行する前に第2のサブセットのレジスタ手段からデータの追加の状態保存を実行するように構成され、そして、
安全なドメインからより安全性の低いドメインへの遷移を引き起こす末尾連鎖式例外に応答して、例外制御手段が、処理手段をトリガして、追加の状態保存を実行することなしに例外処理ルーチンを実行するように構成され、その末尾連鎖式例外が、前記第1の例外が処理された後に及びバックグラウンド処理に戻る前に処理された、データ処理装置。
本方法は、以下のステップを含む:
処理回路によって実行されるバックグラウンド処理からの最初の例外に応答して、例外制御回路が、処理回路をトリガしてその例外に対応する例外処理ルーチンを実行する前に、第1のサブセットのレジスタからデータの状態保存を実行するステップであり、例外処理ルーチンが、第2のサブセットのレジスタからデータの状態保存を実行する責任を有する、ステップと、
バックグラウンド処理が安全なドメインで処理回路によって実行された、安全なドメインからより安全性の低いドメインへの遷移を引き起こす第1の例外に応答して、例外制御回路が、処理回路をトリガしてより安全性の低いドメインで例外処理ルーチンを実行する前に、第2のサブセットのレジスタからデータの追加の状態保存を実行するステップと、
安全なドメインからより安全性の低いドメインへの遷移を引き起こす末尾連鎖式例外に応答して、例外制御回路が、処理回路をトリガして、追加の状態保存を実行することなしに例外処理ルーチンを実行するステップであり、その末尾連鎖式例外が、前記第1の例外が処理された後に及びバックグラウンド処理に戻る前に処理される、ステップ。
Claims (26)
- プログラム・コードに応答してデータ処理動作を実行するための処理回路であって、例外処理を制御するための例外制御回路を備える前記処理回路と、
データを記憶するための複数のレジスタであって、第1のサブセットのレジスタ及び第2のサブセットのレジスタを含む前記レジスタと、
データを記憶するためのデータ・ストアであり、安全な領域及びより安全性の低い領域を含む複数の領域を備えるデータ・ストアであって、前記安全な領域が、安全なドメインで動作するときには前記処理回路によってアクセス可能であり、より安全性の低いドメインで動作するときには前記処理回路によってアクセス可能ではない、データを記憶することを目的とする、前記データ・ストアと
を備える、データ処理装置であって、
前記処理回路によって実行されるバックグラウンド処理からの最初の例外に応答して、前記例外制御回路が、前記処理回路をトリガして前記例外に対応する例外処理ルーチンを実行する前に前記第1のサブセットのレジスタからデータの状態保存を実行するように構成され、前記例外処理ルーチンが、前記第2のサブセットのレジスタからデータの状態保存を実行する責任を有し、
前記安全なドメインから前記より安全性の低いドメインへの遷移を引き起こす第1の例外に応答して、前記バックグラウンド処理が、前記安全なドメインで前記処理回路によって実行され、前記例外制御回路が、前記処理回路をトリガして前記より安全性の低いドメインで前記例外処理ルーチンを実行する前に前記第2のサブセットのレジスタから前記データの追加の状態保存を実行するように構成され、そして、
前記安全なドメインから前記より安全性の低いドメインへの遷移を引き起こす末尾連鎖式例外に応答して、前記例外制御回路が、前記処理回路をトリガして、前記追加の状態保存を実行することなしに前記例外処理ルーチンを実行するように構成され、前記末尾連鎖式例外が、前記第1の例外が処理された後に及び前記バックグラウンド処理に戻る前に処理される、
前記データ処理装置。 - 前記第1の例外に応答して、前記例外制御回路が、前記処理回路をトリガして前記例外処理ルーチンを実行する前に、前記第1のサブセットのレジスタ及び前記第2のサブセットのレジスタをクリアするように構成された、請求項1に記載のデータ処理装置。
- 前記例外制御回路が、前記処理回路をトリガして前記例外処理ルーチンを実行する前に前記追加の状態保存を実行した場合に、次いで、前記例外処理ルーチンが、前記第2のサブセットのレジスタの前記状態保存を実行しない、請求項1又は2に記載のデータ処理装置。
- 前記例外制御回路が、前記処理回路をトリガして前記例外処理ルーチンを実行する前に前記追加の状態保存を実行した場合に、次いで、前記例外処理ルーチンはまた、前記第2のサブセットのレジスタの状態保存を実行する、請求項1又は2に記載のデータ処理装置。
- 前記第1の例外が、前記最初の例外を備える、請求項1から4までのいずれか一項に記載のデータ処理装置。
- 前記第1の例外が、前記最初の例外が処理された後に及び前記バックグラウンド処理に戻る前に処理される末尾連鎖式例外を備える、請求項1から5までのいずれか一項に記載のデータ処理装置。
- 前記より安全性の低いドメインから前記安全なドメインへの遷移を引き起こす末尾連鎖式例外に応答して、前記例外制御回路が、前記第2のサブセットのレジスタへの前記追加の状態保存で保存された前記データを復元することなしに前記例外処理ルーチンをトリガするように前記処理回路を制御するように構成された、請求項1から6までのいずれか一項に記載のデータ処理装置。
- 前記安全なドメインから前記より安全性の低いドメインへの遷移を引き起こす新しい例外に入るときに、前記例外制御回路が、状態保存ステータス値に依存して、前記例外処理ルーチンをトリガする前に前記追加の状態保存を実行するかどうかを判定するように構成された、請求項1から7までのいずれか一項に記載のデータ処理装置。
- 前記状態保存ステータス値が、前記追加の状態保存が、前記より安全性の低いドメインで末尾連鎖式例外を処理する前に実行される必要があるかどうかを指示する、請求項8に記載のデータ処理装置。
- 前記状態保存ステータス値が、少なくとも1つの例外が前記バックグラウンド処理の停止と前記新しい例外の入力の間に前記より安全性の低いドメインで処理されたかどうかを指示する、請求項8又は9に記載のデータ処理装置。
- 前記新しい例外に入るときに、
(a)前記バックグラウンド処理が前記安全なドメインで実行された場合、及び、
(b)前記状態保存ステータス値が、例外が前記バックグラウンド処理の停止と前記新しい例外の入力の間に前記より安全性の低いドメインで処理されなかったことを指示する場合に、
前記例外制御回路が、前記追加の状態保存を実行するように構成された、請求項10に記載のデータ処理装置。 - 前記例外制御回路が、前記バックグラウンド処理が前記安全なドメイン又は前記より安全性の低いドメインで実行されたかどうかを指示するセキュリティ・ドメイン値を設定するように構成された、請求項11に記載のデータ処理装置。
- 前記例外制御回路が、前記より安全性の低いドメインに入るときに前記状態保存ステータス値を固定値に設定するように、及び、前記安全なドメインに入るときに前記状態保存ステータス値を変数値に設定するように構成された、請求項8から12までのいずれか一項に記載のデータ処理装置。
- 前記より安全性の低いドメイン内の例外から戻るときに、前記例外制御回路が、前記状態保存ステータス値が前記固定値をまだ有するかどうかをチェックするように、及び、前記状態保存ステータス値が前記固定値を有さない場合にエラーをトリガするように構成された、請求項13に記載のデータ処理装置。
- 前記状態保存ステータス値が、変数値を有し、そして、
前記より安全性の低いドメイン内の例外から戻るときに、前記例外制御回路が、前記状態保存ステータス値とは無関係に例外処理を制御するように構成された、請求項8から14のいずれか一項に記載のデータ処理装置。 - 前記状態保存ステータス値が、末尾連鎖式例外の間で切り替えるときの前記ドメイン間の前記最新の遷移が、前記より安全性の低いドメインから前記安全なドメインへのものであったかどうかを指示する、請求項8から15までのいずれか一項に記載のデータ処理装置。
- 前記レジスタが、前記例外処理ルーチンからの戻りを制御するための例外戻り値を記憶するためのリンク・レジスタを含む、請求項8から16までのいずれか一項に記載のデータ処理装置。
- 例外に入るときに、前記例外制御回路が、有効な命令アドレスに対応しないダミー例外戻りアドレスに前記リンク・レジスタを設定するように構成され、
前記例外処理ルーチンが、前記リンク・レジスタで設定された前記アドレスへの分岐を含み、そして、
前記リンク・レジスタで指示された前記ダミー例外戻りアドレスへの前記分岐に応答して、前記例外制御回路が、前記処理回路をバックグラウンド処理に戻らせる前に、前記状態保存で保存された前記データを復元するための状態復元処理を実行するように構成された、
請求項17に記載のデータ処理装置。 - 前記状態保存ステータス値が、前記ダミー例外戻りアドレスの部分で指示される、請求項17又は18に記載のデータ処理装置。
- 前記第1の例外より高い優先度を有する先制する例外が、前記第2のサブセットのレジスタの前記追加の状態保存を実行する間に生じた場合に、前記例外制御回路が、前記処理回路をトリガして前記先制する例外の前記例外処理ルーチンを処理する前に前記追加の状態保存を完了するように構成された、請求項1から19までのいずれか一項に記載のデータ処理装置。
- 前記追加の状態保存の完了時に、前記例外制御回路が、前記追加の状態保存が実行されたことを指示するための状態保存ステータス値を設定するように構成された、請求項20に記載のデータ処理装置。
- 前記先制する例外の後に実行される前記安全なドメインから前記より安全性の低いドメインへの遷移を引き起こす末尾連鎖式例外に応答して、前記例外制御回路が、前記状態保存ステータス値が、前記追加の状態保存が前に実行されたことを示す場合に、前記処理回路をトリガして、前記追加の状態保存を実行することなしに前記例外処理ルーチンを実行するように構成された、請求項21に記載のデータ処理装置。
- 前記データ・ストアが、安全なスタック及びより安全性の低いスタックを含む複数のスタックを備える、請求項1から22までのいずれか一項に記載のデータ処理装置。
- 前記第1のサブセットのレジスタの前記状態保存及び前記第2のサブセットのレジスタの前記追加の状態保存において、前記例外制御回路が、前記バックグラウンド処理を実行する間に前記最初の例外が発生するときに前記処理回路が動作していた前記現在のドメインに対応する、前記安全なスタック及び前記より安全性の低いスタックのうちの1つに前記データを保存するように構成された、請求項23に記載のデータ処理装置。
- プログラム・コードに応答してデータ処理動作を実行するための処理手段であって、例外処理を制御するための例外制御手段を備える前記処理手段と、
データを記憶するための複数のレジスタ手段であって、第1のサブセットのレジスタ手段及び第2のサブセットのレジスタ手段を含む前記レジスタ手段と、
データを記憶するためのデータ記憶手段であり、安全な領域及びより安全性の低い領域を含む複数の領域を備える前記データ記憶手段であって、前記安全な領域が、安全なドメインで動作するときに前記処理手段によってアクセス可能であり、より安全性の低いドメインで動作するときに前記処理手段によってアクセス可能ではないデータを記憶することを目的とする、前記データ記憶手段と
を備え、
前記処理手段によって実行されるバックグラウンド処理からの最初の例外に応答して、前記例外制御手段が、前記処理手段をトリガして前記例外に対応する例外処理ルーチンを実行する前に前記第1のサブセットのレジスタ手段からデータの状態保存を実行するように構成され、前記例外処理ルーチンが、前記第2のサブセットのレジスタ手段からデータの状態保存を実行する責任を有し、
前記安全なドメインから前記より安全性の低いドメインへの遷移を引き起こす第1の例外に応答して、前記バックグラウンド処理が前記安全なドメインで前記処理手段によって実行され、前記例外制御手段が、前記処理手段をトリガして前記より安全性の低いドメインで前記例外処理ルーチンを実行する前に前記第2のサブセットのレジスタ手段からデータの追加の状態保存を実行するように構成され、そして、
前記安全なドメインから前記より安全性の低いドメインへの遷移を引き起こす末尾連鎖式例外に応答して、前記例外制御手段が、前記処理手段をトリガして、前記追加の状態保存を実行することなしに前記例外処理ルーチンを実行するように構成され、前記末尾連鎖式例外が、前記第1の例外が処理された後に及び前記バックグラウンド処理に戻る前に処理される、データ処理装置。 - プログラム・コードに応答してデータ処理動作を実行するための処理回路であり、例外処理を制御するための例外制御回路を備える処理回路と、データを記憶するための複数のレジスタであり、第1のサブセットのレジスタ及び第2のサブセットのレジスタを含むレジスタと、データを記憶するためのデータ・ストアであり、安全な領域及びより安全性の低い領域を含む複数の領域を備えるデータ・ストアとを備え、前記安全な領域が、安全なドメインで動作するときには前記処理回路によってアクセス可能であり、より安全性の低いドメインで動作するときには前記処理回路によってアクセス可能ではないデータを記憶することを目的とする、データ処理装置のためのデータ処理方法であって、
前記処理回路によって実行されるバックグラウンド処理からの最初の例外に応答して、前記例外制御回路が、前記処理回路をトリガして前記例外に対応する例外処理ルーチンを実行する前に前記第1のサブセットのレジスタからデータの状態保存を実行するステップであり、前記例外処理ルーチンが、前記第2のサブセットのレジスタからデータの状態保存を実行する責任を有する、ステップと、
前記安全なドメインから前記より安全性の低いドメインへの遷移を引き起こす第1の例外に応答して、前記バックグラウンド処理が、前記安全なドメインで前記処理回路によって実行され、前記例外制御回路が前記処理回路をトリガして前記より安全性の低いドメインで前記例外処理ルーチンを実行する前に前記第2のサブセットのレジスタからデータの追加の状態保存を実行するステップと、
前記安全なドメインから前記より安全性の低いドメインへの遷移を引き起こす末尾連鎖式例外に応答して、前記例外制御回路が前記処理回路をトリガして、前記追加の状態保存を実行することなしに前記例外処理ルーチンを実行するステップであって、前記末尾連鎖式例外が、前記第1の例外が処理された後に及び前記バックグラウンド処理に戻る前に処理される、ステップと
を含む、方法。
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1217531.1 | 2012-10-01 | ||
| GB201217531A GB201217531D0 (en) | 2012-10-01 | 2012-10-01 | ARMv7-M Asset Protection Proposal |
| US13/680,298 US9116711B2 (en) | 2012-02-08 | 2012-11-19 | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
| US13/680,298 | 2012-11-19 | ||
| PCT/GB2013/052108 WO2014053804A1 (en) | 2012-10-01 | 2013-08-07 | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015530672A JP2015530672A (ja) | 2015-10-15 |
| JP6209611B2 true JP6209611B2 (ja) | 2017-10-04 |
Family
ID=48903966
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015533681A Active JP6209611B2 (ja) | 2012-10-01 | 2013-08-07 | 安全なドメイン及びより安全性の低いドメインを有するデータ処理装置における例外処理 |
Country Status (8)
| Country | Link |
|---|---|
| US (2) | US9116711B2 (ja) |
| EP (1) | EP2888692B1 (ja) |
| JP (1) | JP6209611B2 (ja) |
| KR (1) | KR102075372B1 (ja) |
| CN (1) | CN104685508B (ja) |
| IL (1) | IL237282B (ja) |
| MY (1) | MY172572A (ja) |
| WO (1) | WO2014053804A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU214427U1 (ru) * | 2022-04-11 | 2022-10-26 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный лесотехнический университет имени Г.Ф. Морозова" | Пневматический высевающий аппарат для БПЛА |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9477834B2 (en) | 2012-02-08 | 2016-10-25 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between domains |
| 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 |
| KR102218202B1 (ko) * | 2014-08-01 | 2021-02-23 | 삼성전자주식회사 | 반도체 장치 |
| KR102327334B1 (ko) * | 2014-12-31 | 2021-11-17 | 삼성전자주식회사 | 디스플레이 컨트롤러 및 이를 포함하는 반도체 집적회로 장치 |
| US20160381050A1 (en) | 2015-06-26 | 2016-12-29 | Intel Corporation | Processors, methods, systems, and instructions to protect shadow stacks |
| GB2541400B (en) * | 2015-08-17 | 2017-11-15 | Advanced Risc Mach Ltd | Tracing of exception handling events |
| US10394556B2 (en) | 2015-12-20 | 2019-08-27 | Intel Corporation | Hardware apparatuses and methods to switch shadow stack pointers |
| US10430580B2 (en) | 2016-02-04 | 2019-10-01 | Intel Corporation | Processor extensions to protect stacks during ring transitions |
| EP3226168A1 (en) * | 2016-03-31 | 2017-10-04 | Nxp B.V. | Electronic device and protection method |
| CN106778365B (zh) * | 2016-12-01 | 2019-10-18 | 杭州中天微系统有限公司 | 实现延时压栈的装置及处理器 |
| CN108614663B (zh) * | 2016-12-09 | 2021-05-04 | 北京兆易创新科技股份有限公司 | 基于NAND flash的数据处理方法和装置 |
| GB2562102B (en) * | 2017-05-05 | 2019-09-04 | Advanced Risc Mach Ltd | An apparatus and method for managing use of capabilities |
| GB2563010B (en) * | 2017-05-25 | 2019-12-25 | Advanced Risc Mach Ltd | An apparatus and method for managing a capability domain |
| GB2577878B (en) * | 2018-10-08 | 2020-11-11 | Advanced Risc Mach Ltd | Transition disable indicator |
| GB2579617B (en) * | 2018-12-06 | 2021-01-27 | Advanced Risc Mach Ltd | An apparatus and method for handling exception causing events |
| 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 |
| GB2589897B (en) * | 2019-12-11 | 2022-03-23 | Advanced Risc Mach Ltd | Domain transition disable configuration parameter |
| GB2589896B (en) * | 2019-12-11 | 2022-07-27 | Advanced Risc Mach Ltd | An apparatus and method for handling exceptions |
| GB2592069B (en) * | 2020-02-17 | 2022-04-27 | Advanced Risc Mach Ltd | Address calculating instruction |
| US11175926B2 (en) * | 2020-04-08 | 2021-11-16 | Microsoft Technology Licensing, Llc | Providing exception stack management using stack panic fault exceptions in processor-based devices |
| US11960730B2 (en) * | 2021-06-28 | 2024-04-16 | Western Digital Technologies, Inc. | Distributed exception handling in solid state drives |
| FR3152613A1 (fr) * | 2023-09-06 | 2025-03-07 | Stmicroelectronics International N.V. | Module de surveillance d'instructions |
| KR102713487B1 (ko) * | 2023-09-22 | 2024-10-07 | 쿠팡 주식회사 | 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 |
Family Cites Families (51)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4177514A (en) | 1976-11-12 | 1979-12-04 | General Electric Company | Graph architecture information processing system |
| US4519032A (en) | 1982-06-09 | 1985-05-21 | At&T Bell Laboratories | Memory management arrangement for microprocessor systems |
| US4488227A (en) | 1982-12-03 | 1984-12-11 | Honeywell Information Systems Inc. | Program counter stacking method and apparatus for nested subroutines and interrupts |
| US5590332A (en) * | 1995-01-13 | 1996-12-31 | Baker; Henry G. | Garbage collection, tail recursion and first-class continuations in stack-oriented languages |
| JPH0991154A (ja) | 1995-09-25 | 1997-04-04 | Hitachi Constr Mach Co Ltd | スタック割り当て方法、制御装置 |
| US5812850A (en) * | 1995-11-13 | 1998-09-22 | Object Technology Licensing Corp. | Object-oriented symbolic debugger using a compiler driven database and state modeling to control program execution |
| JPH10228421A (ja) | 1997-02-14 | 1998-08-25 | Nec Ic Microcomput Syst Ltd | メモリアクセス制御回路 |
| JP3716604B2 (ja) | 1998-03-24 | 2005-11-16 | 富士電機機器制御株式会社 | 情報処理装置 |
| WO2000019299A1 (en) | 1998-09-25 | 2000-04-06 | Hughes Electronics Corporation | An apparatus for providing a secure processing environment |
| US6363474B1 (en) * | 1999-06-30 | 2002-03-26 | Bull Hn Information Systems Inc. | Process switching register replication in a data processing system |
| US7213247B1 (en) | 2000-01-10 | 2007-05-01 | Wind River Systems, Inc. | Protection domains for a computer operating system |
| US6993663B1 (en) | 2000-08-31 | 2006-01-31 | Microsoft Corporation | Input buffer overrun checking and prevention |
| JP3786575B2 (ja) | 2000-11-20 | 2006-06-14 | 株式会社ルネサステクノロジ | データ処理装置 |
| GB2369464B (en) | 2000-11-27 | 2005-01-05 | Advanced Risc Mach Ltd | A data processing apparatus and method for saving return state |
| EP1331539B1 (en) | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
| US20040003377A1 (en) | 2002-06-28 | 2004-01-01 | Di Loreto Michael A. | Converting byte code instructions to a new instruction set |
| EP1563376B1 (en) * | 2002-11-18 | 2006-04-12 | ARM Limited | Exception types within a secure processing system |
| US7383587B2 (en) * | 2002-11-18 | 2008-06-03 | Arm Limited | Exception handling control in a secure processing system |
| RU2005115083A (ru) | 2002-11-18 | 2006-01-20 | Арм Лимитед (Gb) | Переключение процессора между защищенным и незащищенным режимами |
| GB0226874D0 (en) | 2002-11-18 | 2002-12-24 | Advanced Risc Mach Ltd | Switching between secure and non-secure processing modes |
| GB0226906D0 (en) | 2002-11-18 | 2002-12-24 | Advanced Risc Mach Ltd | Virtual to physical memory address mapping within a system having a secure domain and a non-secure domain |
| GB2396930B (en) | 2002-11-18 | 2005-09-07 | Advanced Risc Mach Ltd | Apparatus and method for managing access to a memory |
| JP2004280801A (ja) | 2003-02-24 | 2004-10-07 | Matsushita Electric Ind Co Ltd | プロセッサおよびこのプロセッサ用のプログラムを生成するコンパイラ装置 |
| US20040168047A1 (en) | 2003-02-24 | 2004-08-26 | Matsushita Electric Industrial Co., Ltd. | Processor and compiler for creating program for the processor |
| EP1480046A1 (en) * | 2003-05-23 | 2004-11-24 | Interuniversitair Microelektronica Centrum ( Imec) | A method for determining the current-voltage characteristic of a snap-back device |
| US20050044292A1 (en) | 2003-08-19 | 2005-02-24 | Mckeen Francis X. | Method and apparatus to retain system control when a buffer overflow attack occurs |
| US7120794B2 (en) | 2003-10-29 | 2006-10-10 | Qualcomm Inc. | System for invoking a privileged function in a device |
| US7607133B2 (en) * | 2004-02-11 | 2009-10-20 | Arm Limited | Interrupt processing control |
| US7401210B2 (en) * | 2005-03-30 | 2008-07-15 | Arm Limited | Selecting subroutine return mechanisms |
| US7917753B2 (en) | 2005-05-16 | 2011-03-29 | Texas Instruments Incorporated | Transferring control between programs of different security levels |
| US7665143B2 (en) | 2005-05-16 | 2010-02-16 | Microsoft Corporation | Creating secure process objects |
| JP4519738B2 (ja) | 2005-08-26 | 2010-08-04 | 株式会社東芝 | メモリアクセス制御装置 |
| US8959339B2 (en) | 2005-12-23 | 2015-02-17 | Texas Instruments Incorporated | Method and system for preventing unauthorized processor mode switches |
| US8621607B2 (en) | 2006-05-18 | 2013-12-31 | Vmware, Inc. | Computational system including mechanisms for tracking taint |
| US20070294675A1 (en) * | 2006-06-20 | 2007-12-20 | Transitive Limited | Method and apparatus for handling exceptions during binding to native code |
| US7681000B2 (en) | 2006-07-10 | 2010-03-16 | Silverbrook Research Pty Ltd | System for protecting sensitive data from user code in register window architecture |
| KR101306354B1 (ko) | 2006-09-06 | 2013-09-09 | 실리콘 하이브 비.브이. | 복수의 명령어 모드를 구비한 데이터 처리회로 |
| GB2448151B (en) | 2007-04-03 | 2011-05-04 | Advanced Risc Mach Ltd | Memory domain based security control within data processing systems |
| GB2448149B (en) * | 2007-04-03 | 2011-05-18 | Advanced Risc Mach Ltd | Protected function calling |
| WO2010004243A2 (en) | 2008-07-10 | 2010-01-14 | Cambridge Consultants Limited | Interrupt processing |
| US8578483B2 (en) | 2008-07-31 | 2013-11-05 | Carnegie Mellon University | Systems and methods for preventing unauthorized modification of an operating system |
| US8051467B2 (en) * | 2008-08-26 | 2011-11-01 | Atmel Corporation | Secure information processing |
| KR101537018B1 (ko) | 2008-10-01 | 2015-07-17 | 삼성전자주식회사 | 보안 메모리 인터페이스, 이를 포함하는 시스템 및 스마트카드 |
| JP2010186386A (ja) | 2009-02-13 | 2010-08-26 | Oki Semiconductor Co Ltd | プロセッサ |
| GB2471138B (en) | 2009-06-19 | 2014-08-13 | Advanced Risc Mach Ltd | Handling integer and floating point registers during a context switch |
| GB2478733B (en) * | 2010-03-15 | 2013-08-14 | Advanced Risc Mach Ltd | Apparatus and method for handling exception events |
| GB2482701C (en) | 2010-08-11 | 2018-12-26 | Advanced Risc Mach Ltd | Illegal mode change handling |
| US9477834B2 (en) | 2012-02-08 | 2016-10-25 | Arm Limited | Maintaining secure data isolated from non-secure access when switching between 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 |
| 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 |
| US9202071B2 (en) | 2012-02-08 | 2015-12-01 | Arm Limited | Exception handling in a data processing apparatus having a secure domain and a less secure domain |
-
2012
- 2012-11-19 US US13/680,298 patent/US9116711B2/en active Active
-
2013
- 2013-08-07 CN CN201380049898.5A patent/CN104685508B/zh active Active
- 2013-08-07 JP JP2015533681A patent/JP6209611B2/ja active Active
- 2013-08-07 MY MYPI2015700655A patent/MY172572A/en unknown
- 2013-08-07 EP EP13753677.7A patent/EP2888692B1/en active Active
- 2013-08-07 KR KR1020157008995A patent/KR102075372B1/ko active Active
- 2013-08-07 WO PCT/GB2013/052108 patent/WO2014053804A1/en not_active Ceased
-
2015
- 2015-02-17 IL IL237282A patent/IL237282B/en active IP Right Grant
- 2015-07-10 US US14/795,933 patent/US10083040B2/en active Active
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU214427U1 (ru) * | 2022-04-11 | 2022-10-26 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный лесотехнический университет имени Г.Ф. Морозова" | Пневматический высевающий аппарат для БПЛА |
Also Published As
| Publication number | Publication date |
|---|---|
| US20130205125A1 (en) | 2013-08-08 |
| WO2014053804A1 (en) | 2014-04-10 |
| US9116711B2 (en) | 2015-08-25 |
| IL237282A0 (en) | 2015-04-30 |
| CN104685508A (zh) | 2015-06-03 |
| IL237282B (en) | 2018-04-30 |
| EP2888692B1 (en) | 2018-12-05 |
| MY172572A (en) | 2019-12-03 |
| US10083040B2 (en) | 2018-09-25 |
| US20150317474A1 (en) | 2015-11-05 |
| JP2015530672A (ja) | 2015-10-15 |
| EP2888692A1 (en) | 2015-07-01 |
| CN104685508B (zh) | 2017-09-29 |
| KR20150065715A (ko) | 2015-06-15 |
| KR102075372B1 (ko) | 2020-02-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6209611B2 (ja) | 安全なドメイン及びより安全性の低いドメインを有するデータ処理装置における例外処理 | |
| JP6204479B2 (ja) | 安全なドメインとより安全性の低いドメインの間で切り替えるときに安全ではないアクセスから安全なデータ及びプログラム・コードを保護するためのデータ処理装置及び方法 | |
| EP2812836B1 (en) | Exception handling in a data processing apparatus having a secure domain and a less secure domain | |
| US9202071B2 (en) | Exception handling in a data processing apparatus having a secure domain and a less secure domain | |
| JP6185487B2 (ja) | ドメイン間で切り替わる際のセキュアなデータの非セキュアなアクセスから隔離された状態での維持 | |
| EP2888691B1 (en) | Data processing apparatus and method using secure domain and less secure domain | |
| KR102864273B1 (ko) | 도메인 전이 디스에이블 구성 파라미터 | |
| US20130205413A1 (en) | Data processing apparatus and method using secure domain and less secure domain | |
| JP2023511814A (ja) | インターモーダル呼び出し分岐命令 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160729 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170719 |
|
| 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: 20170818 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170911 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6209611 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| 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 |