WO2006132807A3 - Microprocessor instruction that allows system routine calls and returns from all contexts - Google Patents
Microprocessor instruction that allows system routine calls and returns from all contexts Download PDFInfo
- Publication number
- WO2006132807A3 WO2006132807A3 PCT/US2006/020090 US2006020090W WO2006132807A3 WO 2006132807 A3 WO2006132807 A3 WO 2006132807A3 US 2006020090 W US2006020090 W US 2006020090W WO 2006132807 A3 WO2006132807 A3 WO 2006132807A3
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- contexts
- returns
- allows system
- system routine
- routine calls
- Prior art date
Links
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- 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/30101—Special purpose registers
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Abstract
An apparatus comprises register means for storing a return context upon initiation of a supervisor call instruction (202) and restoring means to restore a privilege level (210) and status register (208, 218) upon execution of a supervisor return instruction (212). The supervisor call instruction (212) can be called from all contexts.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/145,613 US7996659B2 (en) | 2005-06-06 | 2005-06-06 | Microprocessor instruction that allows system routine calls and returns from all contexts |
US11/145,613 | 2005-06-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2006132807A2 WO2006132807A2 (en) | 2006-12-14 |
WO2006132807A3 true WO2006132807A3 (en) | 2007-09-27 |
Family
ID=37498905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2006/020090 WO2006132807A2 (en) | 2005-06-06 | 2006-05-24 | Microprocessor instruction that allows system routine calls and returns from all contexts |
Country Status (3)
Country | Link |
---|---|
US (1) | US7996659B2 (en) |
TW (1) | TW200709054A (en) |
WO (1) | WO2006132807A2 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996659B2 (en) | 2005-06-06 | 2011-08-09 | Atmel Corporation | Microprocessor instruction that allows system routine calls and returns from all contexts |
US7934073B2 (en) * | 2007-03-14 | 2011-04-26 | Andes Technology Corporation | Method for performing jump and translation state change at the same time |
US9652241B2 (en) | 2007-04-10 | 2017-05-16 | Cambridge Consultants Ltd. | Data processing apparatus with instruction encodings to enable near and far memory access modes |
US8341383B2 (en) * | 2007-11-02 | 2012-12-25 | Qualcomm Incorporated | Method and a system for accelerating procedure return sequences |
WO2010004242A2 (en) * | 2008-07-10 | 2010-01-14 | Cambridge Consultants Limited | Data processing apparatus, for example using vector pointers |
US10802990B2 (en) * | 2008-10-06 | 2020-10-13 | International Business Machines Corporation | Hardware based mandatory access control |
US8327059B2 (en) * | 2009-09-30 | 2012-12-04 | Vmware, Inc. | System and method to enhance memory protection for programs in a virtual machine environment |
US9696975B2 (en) * | 2010-09-03 | 2017-07-04 | International Business Machines Corporation | Allocating register halves independently |
US9582287B2 (en) | 2012-09-27 | 2017-02-28 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
GB2551548B (en) | 2016-06-22 | 2019-05-08 | Advanced Risc Mach Ltd | Register restoring branch 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 |
US20230315547A1 (en) * | 2022-03-31 | 2023-10-05 | Mellanox Technologies, Ltd. | Processor Supporting Vectored System Calls |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5948097A (en) * | 1996-08-29 | 1999-09-07 | Intel Corporation | Method and apparatus for changing privilege levels in a computer system without use of a call gate |
US20040034875A1 (en) * | 2002-04-03 | 2004-02-19 | Brian Bulkowski | Method and apparatus for transmitting data in a data stream |
US20040230779A1 (en) * | 2003-05-15 | 2004-11-18 | Haghighat Mohammad R. | Methods and apparatus to perform return-address prediction |
US20050066332A1 (en) * | 2003-09-24 | 2005-03-24 | Durai Vishwas P. | Arrangements and methods for invoking an upcall in a computer system |
US20050091652A1 (en) * | 2003-10-28 | 2005-04-28 | Ross Jonathan K. | Processor-architecture for facilitating a virtual machine monitor |
US20060026406A1 (en) * | 2004-07-31 | 2006-02-02 | Gardner Robert D | Unprivileged context management |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814976C1 (en) * | 1986-12-23 | 2002-06-04 | Mips Tech Inc | Risc computer with unaligned reference handling and method for the same |
US5003466A (en) * | 1987-02-06 | 1991-03-26 | At&T Bell Laboratories | Multiprocessing method and arrangement |
US5109329A (en) * | 1987-02-06 | 1992-04-28 | At&T Bell Laboratories | Multiprocessing method and arrangement |
US4918653A (en) * | 1988-01-28 | 1990-04-17 | International Business Machines Corporation | Trusted path mechanism for an operating system |
US5063499A (en) * | 1989-01-09 | 1991-11-05 | Connectix, Inc. | Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing |
US5347634A (en) * | 1990-03-15 | 1994-09-13 | Hewlett-Packard Company | System and method for directly executing user DMA instruction from user controlled process by employing processor privileged work buffer pointers |
US5680584A (en) * | 1991-03-07 | 1997-10-21 | Digital Equipment Corporation | Simulator system for code execution and debugging within a multi-architecture environment |
US5551033A (en) * | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
US5418956A (en) * | 1992-02-26 | 1995-05-23 | Microsoft Corporation | Method and system for avoiding selector loads |
US5485409A (en) * | 1992-04-30 | 1996-01-16 | International Business Machines Corporation | Automated penetration analysis system and method |
JPH08212086A (en) * | 1994-09-30 | 1996-08-20 | Microsoft Corp | System and method for operating of office machine |
US5495614A (en) * | 1994-12-14 | 1996-02-27 | International Business Machines Corporation | Interface control process between using programs and shared hardware facilities |
US6141722A (en) * | 1995-05-31 | 2000-10-31 | Microsoft Corporation | Method and apparatus for reclaiming memory |
DE69729495T2 (en) * | 1996-03-08 | 2004-10-28 | Matsushita Electric Industrial Co., Ltd., Kadoma | Image information processing system and microprocessor for the protected reproduction of audiovisual data |
US5956507A (en) * | 1996-05-14 | 1999-09-21 | Shearer, Jr.; Bennie L. | Dynamic alteration of operating system kernel resource tables |
US5950221A (en) * | 1997-02-06 | 1999-09-07 | Microsoft Corporation | Variably-sized kernel memory stacks |
US6349355B1 (en) * | 1997-02-06 | 2002-02-19 | Microsoft Corporation | Sharing executable modules between user and kernel threads |
US6175916B1 (en) * | 1997-05-06 | 2001-01-16 | Microsoft Corporation | Common-thread inter-process function calls invoked by jumps to invalid addresses |
US5987557A (en) * | 1997-06-19 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU) |
US6397242B1 (en) * | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6405312B1 (en) * | 1998-09-04 | 2002-06-11 | Unisys Corporation | Kerberos command structure and method for enabling specialized Kerbero service requests |
US6314471B1 (en) * | 1998-11-13 | 2001-11-06 | Cray Inc. | Techniques for an interrupt free operating system |
US6952827B1 (en) * | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
DE19901879A1 (en) * | 1999-01-19 | 2000-07-27 | Siemens Ag | Data tracing method in data processing arrangement |
US7275246B1 (en) * | 1999-01-28 | 2007-09-25 | Ati International Srl | Executing programs for a first computer architecture on a computer of a second architecture |
US7475398B2 (en) * | 2000-08-01 | 2009-01-06 | Wind River Systems, Inc. | System and method for implementing a smart system call |
US7191322B2 (en) * | 2001-10-12 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for tuning multiple instances of kernel modules |
US7272832B2 (en) * | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
EP1456730B1 (en) * | 2001-12-12 | 2015-07-29 | Gemalto SA | Method and system for module chaining control in a modular software architecture |
US7086048B1 (en) * | 2002-11-04 | 2006-08-01 | Savaje Technologies, Inc. | Method and apparatus for combining operating system resource data and application program resource data in a shared object |
US7082600B1 (en) * | 2002-11-04 | 2006-07-25 | Savaje Technologies, Inc. | Method and apparatus for integrating a computer application programming language runtime environment with an operating system kernel |
EP1429246A1 (en) * | 2002-12-13 | 2004-06-16 | Sun Microsystems, Inc. | Apparatus and method for switching mode in a computer system |
US7281102B1 (en) * | 2004-08-12 | 2007-10-09 | Vmware, Inc. | Restricting memory access to protect data when sharing a common address space |
US7996659B2 (en) | 2005-06-06 | 2011-08-09 | Atmel Corporation | Microprocessor instruction that allows system routine calls and returns from all contexts |
-
2005
- 2005-06-06 US US11/145,613 patent/US7996659B2/en active Active
-
2006
- 2006-05-24 WO PCT/US2006/020090 patent/WO2006132807A2/en active Application Filing
- 2006-06-05 TW TW095119821A patent/TW200709054A/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5948097A (en) * | 1996-08-29 | 1999-09-07 | Intel Corporation | Method and apparatus for changing privilege levels in a computer system without use of a call gate |
US20040034875A1 (en) * | 2002-04-03 | 2004-02-19 | Brian Bulkowski | Method and apparatus for transmitting data in a data stream |
US20040230779A1 (en) * | 2003-05-15 | 2004-11-18 | Haghighat Mohammad R. | Methods and apparatus to perform return-address prediction |
US20050066332A1 (en) * | 2003-09-24 | 2005-03-24 | Durai Vishwas P. | Arrangements and methods for invoking an upcall in a computer system |
US20050091652A1 (en) * | 2003-10-28 | 2005-04-28 | Ross Jonathan K. | Processor-architecture for facilitating a virtual machine monitor |
US20060026406A1 (en) * | 2004-07-31 | 2006-02-02 | Gardner Robert D | Unprivileged context management |
Also Published As
Publication number | Publication date |
---|---|
WO2006132807A2 (en) | 2006-12-14 |
TW200709054A (en) | 2007-03-01 |
US7996659B2 (en) | 2011-08-09 |
US20070006200A1 (en) | 2007-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006132807A3 (en) | Microprocessor instruction that allows system routine calls and returns from all contexts | |
WO2008030514A3 (en) | Methods, systems, and computer program products for flexible call jumping | |
WO2007041390A3 (en) | Extensible task engine framework for humanoid robots | |
WO2006003373A3 (en) | Immersion photolithography system | |
CL2013003593A1 (en) | A method in a computing device called to associate a telephone call from a calling person, such that the called computing device may determine that the telephone call is from a calling device associated with the caller. | |
WO2008003930A3 (en) | Techniques for program execution | |
WO2003100602A3 (en) | A scalar/vector processor | |
WO2006066014A3 (en) | Backplane design for display panels and processes for their manufacture | |
WO2007010036A3 (en) | Fungicidally active agent | |
WO2005091901A3 (en) | Dynamic network detection system and method | |
IL177542A0 (en) | Call intercept methods, such as for customer self-support on a mobile device | |
TW200731133A (en) | Firmware filters and patches | |
WO2006099281A3 (en) | Video game and add-on features | |
WO2008060464A3 (en) | Methods, systems, and computer program products for jumping calls between different modes of the same device | |
WO2007001521A3 (en) | Real-time processor | |
WO2009014912A3 (en) | System and method to enable unlicensed mobile access across terminals | |
AU2002332112A1 (en) | Reusable software components for invoking computational models | |
WO2006101949A3 (en) | A system for effecting a telephone call over a computer network without alphanumeric keypad operation | |
EP1753212A3 (en) | Terminal control method, terminal apparatus and program | |
MY141056A (en) | Corrosion protection apparatus and method | |
WO2005099334A3 (en) | Event handling mechanism | |
WO2007038470A3 (en) | Methods and apparatus for metering computer-based media presentation | |
EA200701479A1 (en) | SYSTEM AND METHOD OF NOTIFYING CALLS | |
WO2008057694A3 (en) | Method and apparatus for protecting a software application against a virus | |
ATE476681T1 (en) | HOUSING UNIT FOR WINDING WIRE ELEMENTS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06771073 Country of ref document: EP Kind code of ref document: A2 |