JP2018538630A5 - - Google Patents

Download PDF

Info

Publication number
JP2018538630A5
JP2018538630A5 JP2018532157A JP2018532157A JP2018538630A5 JP 2018538630 A5 JP2018538630 A5 JP 2018538630A5 JP 2018532157 A JP2018532157 A JP 2018532157A JP 2018532157 A JP2018532157 A JP 2018532157A JP 2018538630 A5 JP2018538630 A5 JP 2018538630A5
Authority
JP
Japan
Prior art keywords
task
memory
page
virtual address
particular task
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
Application number
JP2018532157A
Other languages
English (en)
Other versions
JP6518015B2 (ja
JP2018538630A (ja
Filing date
Publication date
Application filed filed Critical
Priority claimed from PCT/IB2015/059646 external-priority patent/WO2017103651A1/en
Publication of JP2018538630A publication Critical patent/JP2018538630A/ja
Publication of JP2018538630A5 publication Critical patent/JP2018538630A5/ja
Application granted granted Critical
Publication of JP6518015B2 publication Critical patent/JP6518015B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

相互および上記の実施形態と組み合わせられ得る、システムの追加の実施形態では、タスクは、該プロセスの第2のタスクを含み、第1および第2のタスクに関連付けられるプレフィックスデータは、異なる物理アドレスの中であるが、同じ論理アドレスにおいて記憶され、ネイティブ保護設定を変更することは、対応するページテーブル項目のビット0の値を設定し、物理ページがメモリの中に存在していることを示すことを含み、システムはさらに、ネイティブ保護設定を変更するように動作可能であるMPROTECT()関数を該システムのオペレーティングシステムの中に含む。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
保護キーメモリアクセス制御をサポートするように適合されていないプロセッサを有するコンピューティングシステムにおいて保護キーメモリアクセス制御を実装する方法であって、前記プロセッサは、メモリ管理ユニット(MMU)を含み、仮想メモリを管理するオペレーティングシステムを実行し、前記プロセッサは、ユーザプロセスおよびタスクを実行するように適合され、前記方法は、
各プロセスに、仮想アドレスメモリの連続範囲と連続アドレス空間内の各4Kブロックへの記憶域キーとを割り当てることと、
前記プロセスにおける各タスクに記憶域アクセスキーを割り当てることと、
その割り当てられたアクセスキーを伴うタスクに仮想アドレスマッピングを割り当てることによって、特定のアクセスキーを使用してそのタスクの実行を開始することと、
仮想アドレスマッピングを前記割り当てられた記憶域キーのための前記タスクに割り当てることと、
前記タスクによる後続のメモリアクセスに応答して、前記後続のメモリアクセスが前記タスクによって以前に使用されたアクセスキーと異なるアクセスキーを使用する場合、前記タスクが前記異なるアクセスキーを使用する権限を与えられているかどうかを決定し、前記第2のタスクが権限を与えられている場合、後続の仮想アドレスマッピングを前記タスクおよびキーに割り当てることと、
前記タスクによる記憶域を配分するコマンドまたは解放するコマンドに応答して、制御バイトを設定することであって、前記制御バイトを設定することは、前記記憶域キーデータと、各制御バイトに関連付けられたページが有効であるというインジケータとを設定することを含む、ことと、
前記アクセスキーを使用する前記タスクのコンピュータ命令の実行時、
前記タスクに関連付けられた前記アドレス空間内に仮想アドレスを生成することと、
前記第1のアドレスが前記第1のプロセスに関連付けられた前記アドレスの範囲内にあるかどうかを決定することと、
前記アドレスが前記第1のプロセスに関連付けられた前記アドレスの範囲内にある場合、
前記仮想アドレスに対応する前記ページが物理メモリの中に存在しないこと、または、前記タスクが読み取り専用アクセス許可設定を伴ってメモリの中に存在するページに書き込もうとしていることを示すセグメンテーション違反を前記MMUによって生成することと、
前記アクセスキー値が0であること、または前記タスクが前記アクセスキーを使用して前記仮想アドレスにアクセスする権限を与えられていることを例外ハンドラによって検証することと、
前記例外ハンドラを検証すると、前記MMUにおいて、前記仮想アドレスを備えているデータのページに関連付けられるネイティブ保護設定を変更し、前記仮想アドレスへのアクセスを可能にすることと、
続いて、前記命令を再試行し、前記MMUによって、前記タスクの前記命令が前記データのページ内の仮想アドレスにアクセスすることを可能にすることと
を含む、方法。
(項目2)
前記タスクは、前記プロセスの第2のタスクを備えている、項目1に記載の方法。
(項目3)
前記第1および第2のタスクに関連付けられたプレフィックスデータは、異なる物理アドレスの中であるが、同じ論理アドレスにおいて記憶される、項目2に記載の方法。
(項目4)
前記変更することは、対応するページテーブル項目のビット0の値を設定し、前記物理ページがメモリの中に存在していることを示すことを含む、項目1に記載の方法。
(項目5)
MPROTECT()関数を呼び出し、前記ネイティブ保護設定を変更することをさらに含む、項目1に記載の方法。
(項目6)
コンピューティングシステムであって、前記コンピューティングシステムは、
保護キーメモリアクセス制御をサポートするように適合されていないプロセッサであって、前記プロセッサは、メモリ管理ユニット(MMU)を含み、仮想メモリを管理するオペレーティングシステムを実行し、前記プロセッサは、ユーザプロセスおよびタスクを実行するように適合されている、プロセッサと、
命令を記憶している非一過性のメモリと
を備え、
前記命令は、前記プロセッサ上で実行されると、
プロセスに、仮想アドレスメモリの連続範囲と連続アドレス空間内の各4Kブロックへの記憶域キーとを割り当てることと、
前記プロセスにおける各タスクに記憶域アクセスキーを割り当てることと、
その割り当てられたアクセスキーを伴うタスクに仮想アドレスマッピングを割り当てることによって、特定のアクセスキーを使用してそのタスクの実行を開始することと、
仮想アドレスマッピングを前記割り当てられた記憶域キーのための前記タスクに割り当てることと、
前記タスクによる後続のメモリアクセスに応答して、前記後続のメモリアクセスが前記タスクによって以前に使用されたアクセスキーと異なるアクセスキーを使用する場合、前記タスクが前記異なるアクセスキーを使用する権限を与えられているかどうかを決定することと、前記第2のタスクが権限を与えられている場合、後続の仮想アドレスマッピングを前記タスクおよびキーに割り当てることと、
前記タスクによる記憶域を配分するコマンドまたは解放するコマンドに応答して、制御バイトを設定することであって、前記制御バイトを設定することは、前記記憶域キーデータと、各制御バイトに関連付けられるページが有効であるというインジケータとを設定することを含む、ことと、
前記アクセスキーを使用する前記タスクのコンピュータ命令の実行時、
前記タスクに関連付けられた前記アドレス空間内に仮想アドレスを生成することと、
前記第1のアドレスが前記第1のプロセスに関連付けられた前記アドレスの範囲内にあるかどうかを決定することと、
前記アドレスが前記第1のプロセスに関連付けられた前記アドレスの範囲内にある場合、
前記仮想アドレスに対応する前記ページが物理メモリの中に存在しないこと、または、前記タスクが読み取り専用アクセス許可設定を伴ってメモリの中に存在するページに書き込もうとしていることを示すセグメンテーション違反を前記MMUによって生成することと、
前記アクセスキー値が0であること、または前記タスクが前記アクセスキーを使用して前記仮想アドレスにアクセスする権限を与えられていることを例外ハンドラによって検証することと、
前記例外ハンドラを検証すると、前記MMUにおいて、ゲスト仮想アドレスを備えているデータのページに関連付けられたネイティブ保護設定を変更し、前記仮想アドレスへのアクセスを可能にすることと、
続いて、前記命令を再試行し、前記MMUによって、前記タスクの前記命令が前記データのページ内の仮想アドレスにアクセスする可能にすることと
を前記プロセッサに行わせる、コンピューティングシステム。
(項目7)
前記タスクは、前記プロセスの第2のタスクを備えている、項目6に記載のシステム。
(項目8)
前記第1および第2のタスクに関連付けられたプレフィックスデータは、異なる物理アドレスの中であるが、同じ論理アドレスにおいて記憶される、項目6に記載のシステム。
(項目9)
前記ネイティブ保護設定を変更することは、対応するページテーブル項目のビット0の値を設定し、前記物理ページがメモリの中に存在していることを示すことを含む、項目6に記載のシステム。
(項目10)
前記ネイティブ保護設定を変更するように動作可能であるMPROTECT()関数を前記システムの前記オペレーティングシステムの中にさらに備えている、項目6に記載のシステム。

Claims (20)

  1. 保護キーメモリアクセス制御をサポートするように適合されていないプロセッサを有するコンピューティングシステムにおいて保護キーメモリアクセス制御を実装する方法であって、前記プロセッサは、メモリ管理ユニット(MMU)を含み、仮想メモリを管理するオペレーティングシステムを実行し、前記プロセッサは、タスクを備えるユーザプロセスを実行するように適合され、前記方法は、
    ブロックを含むアドレス化可能な仮想メモリの連続範囲を各ユーザプロセスに割り当てることと、
    各タスクに記憶域アクセスキーを割り当てることと、
    その割り当てられた記憶域アクセスキーを伴う特定のタスクに、前記アドレス化可能な仮想メモリの連続範囲における第1の仮想アドレスマッピングを割り当てることによって、その特定のタスクに割り当てられる前記記憶域アクセスキーを使用して特定のユーザプロセス内のその特定のタスクの実行を開始することと、
    前記特定のタスクによる後続のメモリアクセスに応答して、前記後続のメモリアクセスが前記特定のタスクによって以前に使用されたいずれの記憶域アクセスキーと異なる記憶域アクセスキーを使用する場合、前記特定のタスクが前記異なる記憶域アクセスキーを使用する権限を与えられているかどうかを決定し、前記特定のタスクが権限を与えられている場合、後続の仮想アドレスマッピングを前記特定のタスクおよび前記異なる記憶域アクセスキーに割り当てることと、
    前記特定のタスクによって使用される記憶域を配分または解放するコマンドに応答して、制御バイトを設定することであって、前記制御バイトを設定することは、記憶域キーデータと、各制御バイトに関連付けられたデータを備えるページが有効であるというインジケータとを設定することを含む、ことと、
    いずれの記憶域アクセスキーを使用する前記特定のタスクのコンピュータ命令の実行時、
    前記特定のタスクに関連付けられた仮想アドレスを生成することと、
    前記特定のタスクに関連付けられた前記仮想アドレスが前記仮想アドレスメモリの連続範囲内にあるかどうかを決定することと、
    前記アドレスが前記アドレス化可能な仮想メモリの連続範囲にある場合、
    セグメンテーション違反を前記MMUによって生成することと、
    前記記憶域アクセスキーが0の値を有すること、または前記タスクがその前記記憶域アクセスキーを使用して前記仮想アドレスにアクセスする権限を与えられていることを例外ハンドラによって検証することと、
    前記例外ハンドラを検証すると、前記仮想メモリ内に記憶され、かつ前記タスクに関連付けられている、前記ページに関連付けられたネイティブ保護設定を変更し、前記関連付けられた仮想アドレスへのアクセスを可能にすることと、
    続いて、前記特定のタスクの前記コンピュータ命令を再実行し、前記ページへのアクセスを可能にすることと
    を含む、方法。
  2. 前記ブロックは、4Kブロックを備える、請求項1に記載の方法。
  3. 前記セグメンテーション違反は、前記仮想アドレスに対応する前記ページが物理メモリ内に存在しないことを示すことを含む、請求項1に記載の方法。
  4. 前記セグメンテーション違反は、前記タスクが、読み取り専用アクセス許可設定を伴ってメモリ内に存在する前記ページに書き込もうとしていることを示すことを含む、請求項1に記載の方法。
  5. 前記セグメンテーション違反は、前記タスクが、マッチングアクセス許可設定なしに前記ページを読み込もうとしていることを示すことを含む、請求項1に記載の方法。
  6. 前記特定のユーザプロセスの前記特定のタスクの第1および後続の実行に関連付けられたプレフィックスデータは、異なる物理アドレス内にあるが、同じ論理アドレスにおいて記憶されている、請求項1に記載の方法。
  7. 前記仮想アドレスメモリ内に記憶され、かつ前記タスクに関連付けられている、前記ページに関連付けられたネイティブ保護設定を変更することは、対応するページテーブル項目のビット0の値を設定し、前記データを備える物理ページがメモリ内に存在していることを示すことを含む、請求項1に記載の方法。
  8. MPROTECT()関数を呼び出し、前記仮想アドレスメモリ内に記憶され、かつ前記特定のタスクに関連付けられている、前記ページに関連付けられたネイティブ保護設定を変更することをさらに含む、請求項1に記載の方法。
  9. ネイティブ保護設定を変更することは、アクセス制御ビットを変更することを含む、請求項1に記載の方法。
  10. 前記セグメンテーション違反に応答して、前記仮想アドレスメモリ内に記憶され、かつ前記特定のタスクに関連付けられている、前記ページの状態を非存在から存在に変更するためのルーチンを実行することをさらに含む、請求項1に記載の方法。
  11. コンピューティングシステムであって、前記システムは、
    保護キーメモリアクセス制御をサポートするように適合されていないプロセッサであって、前記プロセッサは、メモリ管理ユニット(MMU)を含み、アドレス化可能な仮想メモリを管理するオペレーティングシステムを実行し、前記プロセッサは、タスクを備えるユーザプロセスを実行するように適合されている、プロセッサと、
    命令を記憶している非一過性のメモリと
    を備え、
    前記命令は、前記プロセッサ上で実行されると、前記プロセッサに、
    ブロックを含むアドレス化可能な仮想メモリの連続範囲をユーザプロセスに割り当て、記憶域キーを各ブロックに割り当てることと、
    各タスクに記憶域アクセスキーを割り当てることと、
    その割り当てられた記憶域アクセスキーを伴う特定のタスクに、前記アドレス化可能な仮想メモリの連続範囲における第1の仮想アドレスマッピングを割り当てることによって、その特定のタスクに割り当てられる特定の記憶域アクセスキーを使用して特定のユーザプロセス内のその特定のタスクの実行を開始することと、
    前記特定のタスクによる後続のメモリアクセスに応答して、前記後続のメモリアクセスが前記特定のタスクによって以前に使用されたいずれの記憶域アクセスキーと異なる記憶域アクセスキーを使用する場合、前記特定のタスクが前記異なる記憶域アクセスキーを使用する権限を与えられているかどうかを決定し、前記特定のタスクが権限を与えられている場合、後続の仮想アドレスマッピングを前記特定のタスクおよび前記異なる記憶域アクセスキーに割り当てることと、
    前記特定のタスクによって使用される記憶域を配分または解放するコマンドに応答して、制御バイトを設定することであって、前記制御バイトを設定することは、記憶域キーデータと、各制御バイトに関連付けられたデータを備えるページが有効であるというインジケータとを設定することを含む、ことと、
    いずれの記憶域アクセスキーを使用する前記特定のタスクのコンピュータ命令の実行時、
    前記特定のタスクに関連付けられたアドレス内の仮想アドレスを生成することと、
    前記特定のタスクに関連付けられた前記仮想アドレスが前記仮想アドレスメモリの連続範囲内にあるかどうかを決定することと、
    前記アドレスが前記アドレス化可能な仮想メモリの連続範囲にある場合、
    セグメンテーション違反を前記MMUによって生成することと、
    前記記憶域アクセスキーが0の値を有すること、または前記タスクがその前記記憶域アクセスキーを使用して前記アドレス化可能な仮想メモリ内の前記仮想アドレスにアクセスする権限を与えられていることを例外ハンドラによって検証することと、
    前記例外ハンドラを検証すると、前記仮想メモリ内に記憶され、かつ前記タスクに関連付けられている、前記ページに関連付けられたネイティブ保護設定を変更し、前記関連付けられた仮想アドレスへのアクセスを可能にすることと、
    続いて、前記特定のタスクの前記コンピュータ命令を再実行し、前記ページへのアクセスを可能にすることと
    を行わせる、システム。
  12. 前記ブロックは、4Kブロックを備える、請求項11に記載のシステム。
  13. 前記セグメンテーション違反は、前記仮想アドレスに対応する前記ページが物理メモリ内に存在しないという指示を含む、請求項11に記載のシステム。
  14. 前記セグメンテーション違反は、前記タスクが、読み取り専用アクセス許可設定を伴ってメモリ内に存在する前記ページに書き込もうとしているという指示を含む、請求項11に記載のシステム。
  15. 前記セグメンテーション違反は、前記タスクが、マッチングアクセス許可設定なしに前記ページを読み込もうとしているという指示を含む、請求項11に記載のシステム。
  16. 前記特定のユーザプロセスの前記特定のタスクの第1および後続の実行に関連付けられたプレフィックスデータは、異なる物理アドレス内にあるが、同じ論理アドレスにおいて記憶されている、請求項11に記載のシステム。
  17. 前記仮想アドレスメモリ内に記憶され、かつ前記タスクに関連付けられている、前記ページに関連付けられたネイティブ保護設定を変更するために、対応するページテーブル項目のビット0の値は、前記データを備える物理ページがメモリ内に存在していることを示すように設定される、請求項11に記載のシステム。
  18. 命令であって、前記命令は、前記プロセッサ上で実行されると、前記プロセッサに、MPROTECT()関数を呼び出し、前記仮想アドレスメモリ内に記憶され、かつ前記特定のタスクに関連付けられている、前記ページに関連付けられたネイティブ保護設定を変更させる、命令を記憶している前記非一過性のメモリをさらに備える、請求項11に記載のシステム。
  19. 前記命令は、前記プロセッサに、アクセス制御ビットを変更することによってネイティブ保護設定を変更させる、請求項11に記載のシステム。
  20. 前記セグメンテーション違反に応答して、前記仮想アドレスメモリ内に記憶され、かつ前記特定のタスクに関連付けられている、前記ページの状態を非存在から存在に変更するためのルーチンを実行することをさらに含む、請求項11に記載のシステム。
JP2018532157A 2015-12-15 2015-12-15 仮想アドレス空間レガシーエミュレーションシステムにおける保護キー管理およびプレフィックス変換 Active JP6518015B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2015/059646 WO2017103651A1 (en) 2015-12-15 2015-12-15 Protection key management and prefixing in virtual address space legacy emulation system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019079548A Division JP6708860B2 (ja) 2019-04-18 2019-04-18 仮想アドレス空間レガシーエミュレーションシステムにおける保護キー管理およびプレフィックス変換

Publications (3)

Publication Number Publication Date
JP2018538630A JP2018538630A (ja) 2018-12-27
JP2018538630A5 true JP2018538630A5 (ja) 2019-02-14
JP6518015B2 JP6518015B2 (ja) 2019-05-22

Family

ID=55069923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018532157A Active JP6518015B2 (ja) 2015-12-15 2015-12-15 仮想アドレス空間レガシーエミュレーションシステムにおける保護キー管理およびプレフィックス変換

Country Status (9)

Country Link
US (4) US9779034B2 (ja)
EP (2) EP3204861B1 (ja)
JP (1) JP6518015B2 (ja)
AU (1) AU2015417223B2 (ja)
CA (1) CA3005949C (ja)
PL (2) PL3584708T3 (ja)
PT (2) PT3204861T (ja)
SG (1) SG11201804301UA (ja)
WO (1) WO2017103651A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339333B2 (en) * 2016-07-20 2019-07-02 Montage Technology Co., Ltd. Method and apparatus for controlling application to access memory
US10303621B1 (en) * 2017-03-07 2019-05-28 Amazon Technologies, Inc. Data protection through address modification
US10261913B2 (en) * 2017-04-20 2019-04-16 Alibaba Group Holding Limited Persistent memory for key-value storage
US10324659B2 (en) * 2017-05-24 2019-06-18 International Business Machines Corporation Detection of over-access of memory shared among multiple processes
GB2570326B (en) * 2018-01-22 2020-06-10 Advanced Risc Mach Ltd Multiple guard tag setting instruction
US11762566B2 (en) 2018-01-22 2023-09-19 Arm Limited Programmable mapping of guard tag storage locations
US10795679B2 (en) 2018-06-07 2020-10-06 Red Hat, Inc. Memory access instructions that include permission values for additional protection
CN109144894B (zh) * 2018-08-01 2023-04-07 浙江大学 基于数据冗余的内存访问模式保护方法
CA3118057A1 (en) 2018-11-02 2020-05-07 Lzlabs Gmbh Selective substitution of legacy load module programs with classes for execution in a java virtual machine
US10705983B1 (en) 2019-03-01 2020-07-07 International Business Machines Corporation Transparent conversion of common virtual storage
FR3100901B1 (fr) * 2019-09-12 2021-08-27 Stmicroelectronics Grand Ouest Sas Système de protection de la mémoire
WO2022180594A1 (en) 2021-02-26 2022-09-01 Lzlabs Gmbh Hybrid just in time load module compiler with performance optimizations
KR102494791B1 (ko) 2021-11-08 2023-02-06 숭실대학교산학협력단 컨테이너 환경에서 알려지지 않은 바이너리 검사 및 차단 방법 및 장치
CN115238297B (zh) * 2022-09-23 2023-01-31 北京安帝科技有限公司 多层级权限控制内存保护方法和装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638426A (en) * 1982-12-30 1987-01-20 International Business Machines Corporation Virtual memory address translation mechanism with controlled data persistence
US4792895A (en) * 1984-07-30 1988-12-20 International Business Machines Corp. Instruction processing in higher level virtual machines by a real machine
US4945480A (en) * 1988-02-10 1990-07-31 International Business Machines Corporation Data domain switching on program address space switching and return
US5283868A (en) * 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5075845A (en) * 1989-12-22 1991-12-24 Intel Corporation Type management and control in an object oriented memory protection mechanism
US5560013A (en) * 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5577231A (en) * 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US5745676A (en) * 1995-12-04 1998-04-28 International Business Machines Corporation Authority reduction and restoration method providing system integrity for subspace groups and single address spaces during program linkage
US5761734A (en) * 1996-08-13 1998-06-02 International Business Machines Corporation Token-based serialisation of instructions in a multiprocessor system
US7543290B2 (en) * 2001-04-11 2009-06-02 Mellanox Technologies Ltd. Multiple queue pair access with single doorbell
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US7278030B1 (en) * 2003-03-03 2007-10-02 Vmware, Inc. Virtualization system for computers having multiple protection mechanisms
US7509644B2 (en) * 2003-03-04 2009-03-24 Secure 64 Software Corp. Operating system capable of supporting a customized execution environment
US7111145B1 (en) * 2003-03-25 2006-09-19 Vmware, Inc. TLB miss fault handler and method for accessing multiple page tables
US7409487B1 (en) * 2003-06-30 2008-08-05 Vmware, Inc. Virtualization system for computers that use address space indentifiers
US7421689B2 (en) * 2003-10-28 2008-09-02 Hewlett-Packard Development Company, L.P. Processor-architecture for facilitating a virtual machine monitor
US20060036830A1 (en) * 2004-07-31 2006-02-16 Dinechin Christophe De Method for monitoring access to virtual memory pages
US7200734B2 (en) * 2004-07-31 2007-04-03 Hewlett-Packard Development Company, L.P. Operating-system-transparent distributed memory
US7996833B2 (en) * 2004-07-31 2011-08-09 Hewlett-Packard Development Company, L.P. Method and system for replacing instructions and instruction blocks in computer code
US8091090B2 (en) * 2004-07-31 2012-01-03 Hewlett-Packard Development Company, L.P. Method for providing scratch registers for use by a virtual-machine monitor
US7213125B2 (en) * 2004-07-31 2007-05-01 Hewlett-Packard Development Company, L.P. Method for patching virtually aliased pages by a virtual-machine monitor
US7330942B2 (en) * 2004-07-31 2008-02-12 Hewlett-Packard Development Company, L.P. Method for efficient virtualization of physical memory in a virtual-machine monitor
US8645974B2 (en) * 2007-08-02 2014-02-04 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
US8010763B2 (en) * 2007-08-02 2011-08-30 International Business Machines Corporation Hypervisor-enforced isolation of entities within a single logical partition's virtual address space
US8219988B2 (en) * 2007-08-02 2012-07-10 International Business Machines Corporation Partition adjunct for data processing system
US8176279B2 (en) * 2008-02-25 2012-05-08 International Business Machines Corporation Managing use of storage by multiple pageable guests of a computing environment
US8086811B2 (en) * 2008-02-25 2011-12-27 International Business Machines Corporation Optimizations of a perform frame management function issued by pageable guests
FR2968792B1 (fr) * 2010-12-13 2013-01-11 Bull Sas Procede, programme d'ordinateur et dispositif de gestion d'acces memoire dans une architecture multiprocesseurs de type numa
US8914458B2 (en) * 2012-09-27 2014-12-16 Mellanox Technologies Ltd. Look-ahead handling of page faults in I/O operations
US9052990B2 (en) * 2012-11-20 2015-06-09 International Business Machines Corporation Techniques for managing pinned memory
US9104469B2 (en) * 2013-06-11 2015-08-11 Vmware, Inc. Suspend-resume of virtual machines using de-duplication
US9734083B2 (en) * 2014-03-31 2017-08-15 International Business Machines Corporation Separate memory address translations for instruction fetches and data accesses
US10489309B2 (en) * 2014-10-21 2019-11-26 Intel Corporation Memory protection key architecture with independent user and supervisor domains
US9619270B2 (en) * 2015-06-27 2017-04-11 Vmware, Inc. Remote-direct-memory-access-based virtual machine live migration

Similar Documents

Publication Publication Date Title
JP2018538630A5 (ja)
JP6106765B2 (ja) メモリ保護ユニットを使用して、仮想化をサポートするゲスト・オペレーティング・システム
US11055440B2 (en) Handling access attributes for data accesses
US9218302B2 (en) Page table management
JP6652491B2 (ja) 目標メモリ・アドレスに対応するメモリ属性ユニットの領域を特定するための領域特定演算
JP5914145B2 (ja) メモリ保護回路、処理装置、およびメモリ保護方法
JP2017526071A5 (ja)
TWI537822B (zh) 虛擬化中斷優先順序及遞送之技術
US10162657B2 (en) Device and method for address translation setting in nested virtualization environment
TW201732607A (zh) 用於輸入/輸出裝置之可縮放虛擬化的位址轉譯
JP2015519654A5 (ja)
JP7201686B2 (ja) 間接アクセスメモリコントローラ向けの保護機能を追加するための機器
US8751724B2 (en) Dynamic memory reconfiguration to delay performance overhead
JP2018501559A5 (ja)
US20150302222A1 (en) Computing machine, access management method, and access management program
US9600190B2 (en) Virtual machine functions for multiple privileged pages
JP6740719B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2019117664A5 (ja)
US10754792B2 (en) Persistent virtual address spaces
US11009841B2 (en) Initialising control data for a device
US20190065408A1 (en) Capability enforcement processors
JP5324676B2 (ja) プロセッサ、バスインターフェース装置、およびコンピュータシステム
US20180307623A1 (en) Memory-side memory controller interpreting capabilities
JP2012099154A (ja) 情報処理装置及びそのアクセス制御方法