IP Library › Granted Patent US 12,242,653
Granted Patent B2
US 12,242,653 · App. 17/511,756 · Granted Mar 4, 2025

Domain crossing in executing instructions in computer processors

Inventor: Steven Jeffrey Wallach (Dallas, TX)
Assignee: Micron Technology, Inc.
G06F21/629
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,242,653
App. No.
17/511,756
Granted
Mar 4, 2025
Kind
B2
Abstract

Systems, apparatuses, and methods related to securing domain crossing using domain access tables are described. For example, a computer processor can have registers configured to store locations of domain access tables respectively for predefined, non-hierarchical domains. Each respective domain access table can be pre-associated with a respective domain and can have entries configured to identify entry points of the respective domain. The processor is configured to enforce domain crossing in instruction execution using the domain access tables and to prevent arbitrary and/or unauthorized domain crossing.

Claims (49)

1. A processor, comprising:

a logic circuit configured to execute instructions retrieved from a memory; and

a plurality of registers, wherein the processor is operable to store, in the plurality of registers respectively, locations of a plurality of domain access tables, each respective domain access table in the plurality of domain access tables associated with a respective domain among a predefined set of domains of instructions loadable from the memory for execution in the logic circuit, the respective domain access table having one or more entries configured to identify one or more entry points of the respective domain;

a first register configured to store an identifier of a current domain among the predefined set of domains, wherein instructions of a routine currently being executed in the processor are classified to be in the current domain;

wherein in response to a transition of instruction execution from a first domain, among the plurality of domains of instructions, to a second domain different from the first domain, the processor is configured to validate a permission to enter the second domain using data specified for an entry point in a domain access table associated with the second domain;

wherein in response to an instruction configured to request crossing of instruction execution from the current domain to a destination domain, the process is configured to update the first register to store an identifier of the destination domain specified in the instruction;

wherein in response to the instruction, the processor is configured to determine, whether to isolate resources of a calling routine and a called routine.

2. The processor of claim 1 , wherein the logic circuit includes a plurality of execution units.

3. The processor of claim 2 , further comprising:

a plurality of stacks configured for respective domains in the predefined set, wherein the processor is configured to use a corresponding stack, among the plurality of stacks, according to the first register.

4. The processor of claim 3 , further comprising:

a plurality of register value regions configured to store values of control registers for the respective domains in the predefined set;

wherein the control registers include at least one of a program counter (PC), a stack pointer (SP), a frame pointer (FP), an argument pointer (AP), or a processor status word (PSW), or any combination thereof.

5. The processor of claim 2 , wherein in response to the instruction, the processor is configured to control, based on a permission specified for a domain identified by the first register, access to a memory region during execution of the instruction.

6. The processor of claim 2 , wherein in response to the instruction, the processor is configured to determine, based on a permission specified for a domain identified by the first register, whether to isolate resources of a calling routine and a called routine.

7. The processor of claim 2 , wherein the instruction includes the identifier of the destination domain and an entry index; and the processor is configured to determine whether transition from the current domain to the destination domain is permitted according to data retrieved from a first domain access table using the entry index.

8. The processor of claim 2 , wherein the instruction includes the identifier of the destination domain and an entry index; and the processor is configured to identify a first domain access table using the identifier of the destination domain and determine whether transition from the current domain to the destination domain is permitted by applying to the entry index to the first domain access table.

9. The processor of claim 8 , wherein the processor is configured to determine whether transition from the current domain to the destination domain is permitted based on a bound check on the entry index using a count of entries in the first domain access table.

10. The processor of claim 8 , wherein the processor is configured to determine whether transition from the current domain to the destination domain is permitted based on a bit in an entry in the first domain access table, the entry identified by the entry index specified in the instruction, and the bit identified using the identifier of the current domain.

11. A method, comprising:

storing, in a plurality of registers of a processor, data representative of locations of a plurality of domain access tables, each respective domain access table in the plurality of domain access tables associated with a respective domain among a predefined set of domains of instructions loadable from memory for execution in the processor, the respective domain access table having one or more entries configured to identify one or more entry points of the respective domain;

storing, in a first register of the processor, an identifier of a current domain among the predefined set of domains, wherein instructions of a first routine currently being executed in the processor are classified to be in the current domain;

receiving in the processor a first instruction of the first routine for execution, the first instruction containing an identifier of a destination domain among the predefined set of domains and configured to call a second routine having a second instruction in the destination domain, the first instruction further containing an entry index; and

in response to the first instruction:

identifying, by the processor based on the identifier of the destination domain specified in the first instruction and the locations identified by the plurality of registers, a first domain access table;

determining, by the processor based on an entry identified by the entry index in the first domain access table, whether a transition from instruction execution in the current domain to instruction execution in the destination domain is permitted; and

determining, by the processor, whether the transition is permitted based on a bound check on the entry index according to a count of entries in the first domain access table.

12. The method of claim 11 , further comprising:

retrieving, by the processor from the first domain access table, the entry identified by the entry index; and

determining, by the processor, a bit in the entry according to the identifier of the current domain, wherein whether the transition is permitted is based at least in part on the bit identified for the current domain in the entry.

13. The method of claim 12 , further comprising:

determining, by the processor based on the entry, an address of the second instruction in the destination domain.

14. The method of claim 13 , further comprising:

updating, by the processor in response to a determination that the transition is permitted, the first register to store the identifier of the destination domain specified in the first instruction.

15. The method of claim 12 , further comprising:

determining, by the processor based on the entry, whether to isolate resources of the first routine containing the first instruction and the second routine called by the first instruction.

16. A computer, comprising:

memory configured to store instructions of routines; and

a processor coupled to the memory, the processor having:

a plurality of execution units;

a plurality of registers operable to store data representative of locations of a plurality of domain access tables, each respective domain access table in the plurality of domain access tables associated with a respective domain among a predefined set of domains of instructions loadable from the memory for execution in the plurality of execution units, the respective domain access table having one or more entries configured to identify one or more entry points of the respective domain;

a first register operable to store an identifier of a current domain among the predefined set of domains, wherein instructions of a first routine currently being executed in the processor are classified to be in the current domain;

wherein in response to a first instruction the first routine being loaded in the processor for execution, the processor is configured to:

identify, based on an identifier of a destination domain specified in the first instruction and the locations identified by the plurality of registers, a first domain access table; and

determine, based on an entry identified by the entry index in the first domain access table, whether a transition from instruction execution in the current domain to instruction execution in the destination domain is permitted;

wherein the processor is further configured to determine whether the transition is permitted based on a bound check on the entry index according to a count of entries in the first domain access table, and a bit identified in the entry according to the identifier of the current domain.

17. The computer of claim 16 , wherein the processor is further configured to determine, based on the entry:

an address of a second instruction of a second routine in the destination domain; and

whether to isolate resources of the first routine containing the first instruction and the second routine called by the first instruction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2021
From: WALLACH, STEVEN JEFFREY
To: MICRON TECHNOLOGY, INC.
Reel/Frame 057929/0196 →
Continuity (7)
Continuation 16520299 · Jul 23, 2019
Provisional Application 62724929 · Aug 30, 2018
Provisional Application 62725030 · Aug 30, 2018
Provisional Application 62724913 · Aug 30, 2018
Provisional Application 62724999 · Aug 30, 2018
Provisional Application 62724896 · Aug 30, 2018
Related Publication 20220050908A1 · Feb 17, 2022
References Cited (189)
US 4386399A · Rasala et al. · 1983 [cited by applicant]
US 4409655A · Wallach et al. · 1983 [cited by applicant]
US 4525780A · Bratt et al. · 1985 [cited by applicant]
US 4821184A · Clancy et al. · 1989 [cited by applicant]
US 5280614A · Munroe et al. · 1994 [cited by applicant]
US 6393544B1 · Bryg et al. · 2002 [cited by applicant]
US 6446188B1 · Henderson et al. · 2002 [cited by applicant]
US 6757807B1 · Jacobson · 2004 [cited by examiner]
US 7370193B2 · Shao et al. · 2008 [cited by applicant]
US 7581089B1 · White · 2009 [cited by applicant]
US 8245270B2 · Cooperstein et al. · 2012 [cited by applicant]
US 8601473B1 · Aron et al. · 2013 [cited by applicant]
US 8607299B2 · Baker · 2013 [cited by applicant]
US 8713563B2 · Kondoh et al. · 2014 [cited by applicant]
US 9405515B1 · Bertram et al. · 2016 [cited by applicant]
US 9519779B2 · Ghosh et al. · 2016 [cited by applicant]
US 9575784B1 · Aron et al. · 2017 [cited by applicant]
US 9852084B1 · Soderquist et al. · 2017 [cited by applicant]
US 10043001B2 · Ghosh et al. · 2018 [cited by applicant]
US 10757100B2 · Angelino et al. · 2020 [cited by applicant]
US 10915457B2 · Wallach · 2021 [cited by applicant]
US 10915465B2 · Wallach · 2021 [cited by applicant]
US 10942863B2 · Wallach · 2021 [cited by applicant]
US 10984097B2 · Ghosh et al. · 2021 [cited by applicant]
US 11182507B2 · Wallach · 2021 [cited by applicant]
US 11436156B2 · Wallach · 2022 [cited by applicant]
US 11481241B2 · Wallach · 2022 [cited by applicant]
US 11500665B2 · Wallach · 2022 [cited by applicant]
US 11561904B2 · Wallach · 2023 [cited by applicant]
US 11620239B2 · Wallach · 2023 [cited by applicant]
US 11914726B2 · Wallach · 2024 [cited by applicant]
US 20020184345A1 · Masuyama et al. · 2002 [cited by applicant]
US 20040078631A1 · Rogers et al. · 2004 [cited by applicant]
US 20040133777A1 · Kiriansky et al. · 2004 [cited by applicant]
US 20040221036A1 · Smith · 2004 [cited by applicant]
US 20050188173A1 · Hasbun · 2005 [cited by examiner]
US 20050257243A1 · Baker · 2005 [cited by applicant]
US 20060161719A1 · Bennett et al. · 2006 [cited by applicant]
US 20080086729A1 · Kondoh et al. · 2008 [cited by applicant]
US 20080091891A1 · Shiota et al. · 2008 [cited by applicant]
US 20080104586A1 · Thorton et al. · 2008 [cited by applicant]
US 20080162680A1 · Zimmer et al. · 2008 [cited by applicant]
US 20080172749A1 · Ko · 2008 [cited by examiner]
US 20080244206A1 · Heo et al. · 2008 [cited by applicant]
US 20080250216A1 · Kershaw et al. · 2008 [cited by applicant]
US 20080250217A1 · Kershaw et al. · 2008 [cited by applicant]
US 20080276051A1 · Renno · 2008 [cited by applicant]
US 20090187724A1 · Greiner et al. · 2009 [cited by applicant]
US 20090204785A1 · Yates, Jr. · 2009 [cited by examiner]
US 20090222816A1 · Mansell et al. · 2009 [cited by applicant]
US 20090259846A1 · Watt et al. · 2009 [cited by applicant]
US 20100042980A1 · Wright · 2010 [cited by examiner]
US 20100057960A1 · Renno · 2010 [cited by applicant]
US 20100082991A1 · Baldwin · 2010 [cited by examiner]
US 20100162243A1 · Barde · 2010 [cited by examiner]
US 20100228936A1 · Wright et al. · 2010 [cited by applicant]
US 20100228943A1 · Deshpande et al. · 2010 [cited by applicant]
US 20100235598A1 · Bouvier · 2010 [cited by applicant]
US 20100332788A1 · Zhao et al. · 2010 [cited by applicant]
US 20110055528A1 · Kondoh et al. · 2011 [cited by applicant]
US 20110231630A1 · Dannowski et al. · 2011 [cited by applicant]
US 20120036334A1 · Horman et al. · 2012 [cited by applicant]
US 20120042144A1 · Grisenthwaite · 2012 [cited by applicant]
US 20130132690A1 · Epstein · 2013 [cited by applicant]
US 20130132695A1 · Heo et al. · 2013 [cited by applicant]
US 20130151831A1 · Bealkowski et al. · 2013 [cited by applicant]
US 20130326193A1 · Mccarthy et al. · 2013 [cited by applicant]
US 20140068137A1 · Kegel et al. · 2014 [cited by applicant]
US 20140089616A1 · Shanbhogue et al. · 2014 [cited by applicant]
US 20140108701A1 · Liljeberg · 2014 [cited by applicant]
US 20140173169A1 · Liu et al. · 2014 [cited by applicant]
US 20140282819A1 · Sastry et al. · 2014 [cited by applicant]
US 20140331019A1 · Parker et al. · 2014 [cited by applicant]
US 20140331023A1 · Sharp et al. · 2014 [cited by applicant]
US 20150082305A1 · Hepkin et al. · 2015 [cited by applicant]
US 20150100717A1 · Bennett et al. · 2015 [cited by applicant]
US 20150128249A1 · Alexandrian et al. · 2015 [cited by applicant]
US 20150180894A1 · Sadovsky et al. · 2015 [cited by applicant]
US 20150301850A1 · Jeong et al. · 2015 [cited by applicant]
US 20160110298A1 · Koufaty et al. · 2016 [cited by applicant]
US 20160210082A1 · Frank et al. · 2016 [cited by applicant]
US 20160274810A1 · Godard · 2016 [cited by examiner]
US 20160299851A1 · Mattson, Jr. · 2016 [cited by examiner]
US 20160350019A1 · Koufaty et al. · 2016 [cited by applicant]
US 20160381050A1 · Shanbhogue et al. · 2016 [cited by applicant]
US 20170060783A1 · Chiu et al. · 2017 [cited by applicant]
US 20170367036A1 · Chen et al. · 2017 [cited by applicant]
US 20180004681A1 · Koufaty · 2018 [cited by applicant]
US 20180048648A1 · Angelino et al. · 2018 [cited by applicant]
US 20180060244A1 · Godard et al. · 2018 [cited by applicant]
US 20180095902A1 · Lemay et al. · 2018 [cited by applicant]
US 20180121125A1 · Zeng et al. · 2018 [cited by applicant]
US 20180121665A1 · Anderson et al. · 2018 [cited by applicant]
US 20190102537A1 · Zhang et al. · 2019 [cited by applicant]
US 20190196983A1 · Khosravi et al. · 2019 [cited by applicant]
US 20200073693A1 · Wallach · 2020 [cited by applicant]
US 20200073694A1 · Wallach · 2020 [cited by applicant]
US 20200073820A1 · Wallach · 2020 [cited by applicant]
US 20200073821A1 · Wallach · 2020 [cited by applicant]
US 20200073822A1 · Wallach · 2020 [cited by applicant]
US 20200073827A1 · Wallach · 2020 [cited by applicant]
US 20200074093A1 · Wallach · 2020 [cited by applicant]
US 20200074094A1 · Wallach · 2020 [cited by applicant]
US 20210141742A1 · Wallach · 2021 [cited by applicant]
US 20210149817A1 · Wallach · 2021 [cited by applicant]
US 20210157741A1 · Wallach · 2021 [cited by applicant]
US 20210240619A1 · Earnshaw · 2021 [cited by applicant]
US 20220414019A1 · Wallach · 2022 [cited by applicant]
US 20230004420A1 · Wallach · 2023 [cited by applicant]
US 20230074273A1 · Wallach · 2023 [cited by applicant]
US 20230106598A1 · Wallach · 2023 [cited by applicant]
CN 1920797A · 2007 [cited by examiner]
CN 101520738 · 2009 [cited by applicant]
CN 105550014A · 2016 [cited by examiner]
GB 2448149A · 2008 [cited by examiner]
GB 2448151A · 2008 [cited by examiner]
GB 2506501A · 2014 [cited by examiner]
WO WO0152064A2 · 2001 [cited by examiner]
WO WO2006123265A1 · 2006 [cited by examiner]
WO 2013174503 · 2013 [cited by applicant]
WO 2013174503A1 · 2013 [cited by applicant]
WO 2016154115 · 2016 [cited by applicant]
WO WO2016164424A1 · 2016 [cited by examiner]
Wang et al., “Study on a Decision Method for Reconfiguration of Network Security Functions Based on Privilege Transition Graph,” 2018 IEEE 18th International Conference on Communication Technology (ICCT), Chongqing, Chi… [cited by examiner]
Qing et al., “A Dynamically Modified Privilege Control Policy,” 2006 IEEE Information Assurance Workshop, West Point, NY, USA, 2006, pp. 340-347, doi: 10.1109/IAW.2006.1652115. (Year: 2006). [cited by examiner]
Kim et al., “DEMIX: Domain-Enforced Memory Isolation for Embedded System,” Basel, Switzerland, Mar. 2023, 10.3390/s23073568. (Year: 2023). [cited by examiner]
Inoue et al., “Dynamic security domain scaling on symmetric multiprocessors for future high-end embedded systems,” 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODE… [cited by examiner]
Fan et al., “Cross-Domain Based Data Sharing Scheme in Cooperative Edge Computing,” 2018 IEEE International Conference on Edge Computing (EDGE), San Francisco, CA, USA, 2018, pp. 87-92, doi: 10.1109/EDGE.2018.00019. (Ye… [cited by examiner]
Zhang et al., “An access control model for multi-level security in multi-domain networking environments,” 2017 9th International Conference on Modelling, Identification and Control (ICMIC), Kunming, China, 2017, pp. 809… [cited by examiner]
Cho et al., “Sharing data between processes running on different domains in para-virtualized xen,” 2007 International Conference on Control, Automation and Systems, Seoul, Korea (South), 2007, pp. 1255-1260, doi: 10.110… [cited by examiner]
Kongsgard et al., “Data Leakage Prevention for Secure Cross-Domain Information Exchange,” in IEEE Communications Magazine, vol. 55, No. 10, pp. 37-43, Oct. 2017, doi: 10.1109/MCOM.2017.1700235. (Year: 2017). [cited by examiner]
Wang et al., “Research on Safe Privilege Management Model in Trusted-Domains,” 2008 International Symposium on Knowledge Acquisition and Modeling, Wuhan, China, 2008, pp. 350-355, doi: 10.1109/KAM.2008.101. (Year: 2008). [cited by examiner]
Shi et al., “Overview of Cross-Domain Access Control,” 2023 IEEE Smart World Congress (SWC), Portsmouth, United Kingdom, 2023, pp. 1-8, doi: 10.1109/SWC57546.2023.10448810. (Year: 2023). [cited by examiner]
Tan et al., “Blockchain-Based Cross-domain Access Control Mechanism,” 2022 5th International Conference on Information Communication and Signal Processing (ICICSP), Shenzhen, China, 2022, pp. 499-506, doi: 10.1109/ICICS… [cited by examiner]
Zhang et al., “Research on User Cross-domain Access Control Model Based on Feedback,” 2021 International Conference on Intelligent Computing, Automation and Applications (ICAA), Nanjing, China, 2021, pp. 922-928, doi: 1… [cited by examiner]
Mouliswaran et al., “Representation of multiple domain role based access control using FCA,” 2015 IEEE International Conference on Electrical, Computer and Communication Technologies (ICECCT), Coimbatore, India, 2015, p… [cited by examiner]
He et al., “A Novel Cross-domain Access Control Protocol in Mobile Edge Computing,” 2021 IEEE Global Communications Conference (GLOBECOM), Madrid, Spain, 2021, pp. 1-6, doi: 10.1109/GLOBECOM46510.2021.9685650. (Year: 20… [cited by examiner]
Martinsen, Jayce. “Implementation of Intel Virtual Machine Extension Root Operation on the NPS Least Privilege Separation Kernel.” Naval Postgraduate School thesis, Sep. 2010. [cited by applicant]
Vmware. “Mechanisms to determine if software is running in a Vmware virtual machine.” Retrieved from the Internet <https://kb.vmware.com/s/article/1009458> on Nov. 23, 2021. [cited by applicant]
Extended European Search Report, EP19856112.8, mailed on Apr. 14, 2022. [cited by applicant]
Extended European Search Report, EP19855925.4, mailed on Apr. 11, 2022. [cited by applicant]
Extended European Search Report, EP19854049.4, mailed on Apr. 7, 2022. [cited by applicant]
Extended European Search Report, EP19853813.4, mailed on Apr. 4, 2022. [cited by applicant]
Extended European Search Report, EP19855829.8, mailed on Apr. 11, 2022. [cited by applicant]
Extended European Search Report, EP19854485.7, mailed on Apr. 11, 2022. [cited by applicant]
Extended European Search Report, EP19854059.3, mailed on Apr. 11, 2022. [cited by applicant]
Extended European Search Report, EP19854058.5, mailed on Apr. 20, 2022. [cited by applicant]
Fernandez, Eduardo B., et al. “Patterns for the secure and reliable execution of processes.” Pattern Languages of Programs, ACM, Oct. 18, 2008. [cited by applicant]
Vilanova, Lluis, et al. “CODOMs: Protecting Software with Code-centric Memory Domains.” IEEE, Jun. 14, 2014. [cited by applicant]
Vilanova, Lluis. “CODOMs: Protecting Software with Code-centric Memory Domains.” IEEE, 2014. [cited by applicant]
Security Configuration for Memory Address Translation from Object Specific Virtual Address Spaces to a Physical Address Space, U.S. Appl. No. 16/520,311, filed Jul. 23, 2019 Inventor: Steven Wallach Status: Non Final Ac… [cited by applicant]
Access Control for Processor Registers based on Execution Domains, U.S. Appl. No. 16/520,290, filed Jul. 23, 2019 Inventor Steven Wallach Status: Docketed New Case—Ready for Examination Status Date: Aug. 23, 2019. [cited by applicant]
Memory Configured to Store Instructions of a Predefined Set of Domains Controllable via a Domain Register for Instructions Being Executed in a Computer Processor, U.S. Appl. No. 16/520,298, filed Jul. 23, 2019 Inventor:… [cited by applicant]
Domain Register for Instructions Being Executed in Computer Processors, U.S. Appl. No. 17/154,722, filed Jan. 21, 2021 Inventor: Steven Wallach Status: Docketed New Case—Ready for Examination Status Date: Aug. 22, 2021. [cited by applicant]
Domain Crossing in Executing Instructions in Computer Processors, U.S. Appl. No. 16/520,299, filed Jul. 23, 2019 Inventor: Steven Wallach Status: Notice of Allowance Mailed—Application Received in Office of Publications… [cited by applicant]
Dynamic Configuration of a Computer Processor based on the Presence of a Hypervisor, U.S. Appl. No. 16/520,304, filed Jul. 23, 2019 Inventor: Steven Wallach Status: Non Final Action Mailed Status Date: Aug. 18, 2021. [cited by applicant]
Virtual Machine Register in a Computer Processor, U.S. Appl. No. 16/520,130, filed Jul. 23, 2019 Inventor: Steven Wallach Status: Non Final Action Mailed Status Date: May 10, 2021. [cited by applicant]
Memory Access Control through Permissions Specified in Page Table Entries for Execution Domains, U.S. Appl. No. 16/520,292, filed Jul. 23, 2019 Inventor: Steven Wallach Status: Patented Case Status Date: Jan. 20, 2021. [cited by applicant]
Memory Access Control through Permissions Specified in Page Table Entries for Execution Domains, U.S. Appl. No. 17/158,979, filed Jan. 26, 2021 Inventor: Steven Wallach Status: Docketed New Case—Ready for Examination St… [cited by applicant]
Security Configurations in Page Table Entires for Execution Domains Using a Sandbox Application Operation, U.S. Appl. No. 16/520,296, filed Jul. 23, 2019 Inventor: Steven Wallach Status: Patented Case Status Date: Jun. … [cited by applicant]
Security Configurations in Page Table Entries for Execution Domains, U.S. Appl. No. 17/170,763, filed Feb. 8, 2021 Inventor: Steven Wallach Status: Docketed New Case—Ready for Examination Status Date: Aug. 22, 2021. [cited by applicant]
Lluis Vilanova, et al. “CODOMs: Protecting Software with Code-centric Memory Domains.” ACM SIGARCH Computer Architecture News, vol. 42, Issue 3, Jun. 2014. [cited by applicant]
“Hash table. Collision resolution by chaining (closed addressing)”, Algorithms and Data Stroutures: with Implementations in Java and C++, http://www.algolist.net/Data_structures/Hash_table/Chaining, printed on Aug. 30, … [cited by applicant]
Call stack, Wikipedia, printed on Aug. 10, 2018. [cited by applicant]
Capability-based addressing, Wikipedia, printed on Sep. 13, 2018. [cited by applicant]
Explain Hashed page tables in operating system, https://cs.stackexchange.com/questions/85207/explain-hashed-page-tables-in-operating system, printed on Aug. 17, 2018. [cited by applicant]
G. J. Myers, B. R. S. Buckingham, “A Hardware Implemenation of Capability-based Addressing”, ACM SIGARCH Computer Architecture News Homepage archive, vol. 8, Iss. 6, Oct. 1980. [cited by applicant]
George Radin, Peter R. Schneider, “An Architecture for an Extended Machine With Protected Addressing”, May 21, 1976. [cited by applicant]
Hash table, Wikipedia, printed on Aug. 30, 2018. [cited by applicant]
Hypervisor, Wikipedia, printed on Apr. 19, 2018. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048015, mailed Dec. 12, 2019. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048006, mailed Dec. 11, 2019. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048008, mailed Dec. 12, 2019. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048023, mailed Dec. 17, 2019. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048020, mailed Dec. 17, 2019. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048019, mailed Dec. 17, 2019. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048013, mailed Dec. 13, 2019. [cited by applicant]
International Search Report and Written Opinion, PCT/US2019/048018, mailed Dec. 17, 2019. [cited by applicant]
Michael D. Schroeder, Jerome H. Saltzer, “A Hardware Architecture for Implementing Protection Rings”, Presented at the Third ACM Symposium on Operating Systems Principles, Palo Alto, CA, Oct. 1971. [cited by applicant]
Page replacement algorithm, Wikipedia, printed on Jul. 31, 2018. [cited by applicant]
Page table, Wikipedia, printed on Jul. 31, 2018. [cited by applicant]
Protection ring, Wikipedia, printed on Jul. 31, 2018. [cited by applicant]
R. S. Fabry, “Capability-Based Addressing”, Communications of the ACM, Jul. 1974. [cited by applicant]
Sandbox (computer security), Wikipedia, printed on Aug. 21, 2018. [cited by applicant]
Stack register, Wikipedia, printed on Aug. 10, 2018. [cited by applicant]
The RISC-V Instruction Set Manual, vol. II: Privileged Architecture, May 7, 2017. [cited by applicant]
Lluis Vilanova et al., “CODOMs: Protecting Software with Code-centric Memory Domains,” ACM SIGARCH Computer Architecture News, Jun. 2014. [cited by applicant]
Zhu, He-fei, et al., “Memory Management Unit Design for Embedded System,” Computer Engineering and Applications, No. 1, Abstract only, Jan. 1, 2007. [cited by applicant]
Fernandez, Eduardo B., et al., “Patterns for the secure and reliable execution of processes.” ACM, Oct. 8, 2008. [cited by applicant]
Cited By (2)
US 12,578,984 US 12,717,902