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 PDF

Info

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
Application number
PCT/US2006/020090
Other languages
French (fr)
Other versions
WO2006132807A2 (en
Inventor
Erik K Renno
Oyvind Strom
Andreas Engh-Halstvedt
Havard Skinnemoen
Original Assignee
Atmel Corp
Erik K Renno
Oyvind Strom
Andreas Engh-Halstvedt
Havard Skinnemoen
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Atmel Corp, Erik K Renno, Oyvind Strom, Andreas Engh-Halstvedt, Havard Skinnemoen filed Critical Atmel Corp
Publication of WO2006132807A2 publication Critical patent/WO2006132807A2/en
Publication of WO2006132807A3 publication Critical patent/WO2006132807A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation 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.
PCT/US2006/020090 2005-06-06 2006-05-24 Microprocessor instruction that allows system routine calls and returns from all contexts WO2006132807A2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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