IN2014CH00978A - - Google Patents

Info

Publication number
IN2014CH00978A
IN2014CH00978A IN978CH2014A IN2014CH00978A IN 2014CH00978 A IN2014CH00978 A IN 2014CH00978A IN 978CH2014 A IN978CH2014 A IN 978CH2014A IN 2014CH00978 A IN2014CH00978 A IN 2014CH00978A
Authority
IN
India
Prior art keywords
requester
operating system
execution circuitry
registers
data structures
Prior art date
Application number
Inventor
V Patel Baiju
B Crossland James
A Khare Atul
Opferman Toby
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of IN2014CH00978A publication Critical patent/IN2014CH00978A/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/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • 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
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/521Atomic

Abstract

Robust system call and system return instructions are executed by a processor to transfer control between a requester and an operating system kernel. The processor includes execution circuitry and registers that store pointers to data structures in memory. The execution circuitry receives a system call instruction from a requester to transfer control from a first privilege level of the requester to a second privilege level of an operating system kernel. In response, the execution circuitry swaps the data structures that are pointed to by the registers between the requester and the operating system kernel in one atomic transition.
IN978CH2014 2013-03-15 2014-02-26 IN2014CH00978A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/837,878 US9207940B2 (en) 2013-03-15 2013-03-15 Robust and high performance instructions for system call

Publications (1)

Publication Number Publication Date
IN2014CH00978A true IN2014CH00978A (en) 2015-05-08

Family

ID=50554831

Family Applications (1)

Application Number Title Priority Date Filing Date
IN978CH2014 IN2014CH00978A (en) 2013-03-15 2014-02-26

Country Status (7)

Country Link
US (2) US9207940B2 (en)
JP (1) JP5985526B2 (en)
KR (2) KR20140113557A (en)
CN (1) CN104050415B (en)
DE (1) DE102014003854A1 (en)
GB (1) GB2514881B (en)
IN (1) IN2014CH00978A (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6370098B2 (en) * 2014-05-16 2018-08-08 杉中 順子 Information processing apparatus, information processing monitoring method, program, and recording medium
US10528345B2 (en) * 2015-03-27 2020-01-07 Intel Corporation Instructions and logic to provide atomic range modification operations
US10761877B2 (en) * 2017-07-21 2020-09-01 Intel Corporation Apparatuses, methods, and systems for blockchain transaction acceleration
CN108958798B (en) * 2018-06-15 2021-04-20 上海兆芯集成电路有限公司 Instruction translation circuit, processor circuit and execution method thereof
US11366663B2 (en) * 2018-11-09 2022-06-21 Intel Corporation Systems and methods for performing 16-bit floating-point vector dot product instructions
US20200409711A1 (en) * 2019-06-29 2020-12-31 Intel Corporation Processor instruction support for mitigating controlled-channel and cache-based side-channel attacks
CN111679857B (en) * 2020-06-15 2024-01-23 上海兆芯集成电路股份有限公司 Microprocessor with high-efficiency complex instruction decoding
US20240028336A1 (en) * 2022-07-21 2024-01-25 Vmware, Inc. Techniques for reducing cpu privilege boundary crossings

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62286155A (en) * 1986-06-05 1987-12-12 Sharp Corp Multi cpu control system
JPH03163630A (en) * 1989-11-21 1991-07-15 Mitsubishi Electric Corp Stack control method for processor
US6901505B2 (en) * 2001-08-09 2005-05-31 Advanced Micro Devices, Inc. Instruction causing swap of base address from segment register with address from another register
US20030226014A1 (en) * 2002-05-31 2003-12-04 Schmidt Rodney W. Trusted client utilizing security kernel under secure execution mode
US8607235B2 (en) * 2004-12-30 2013-12-10 Intel Corporation Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention
CN100470571C (en) * 2006-08-23 2009-03-18 北京同方微电子有限公司 Micro-processor kernel used for cryptography arithmetic
CN200941211Y (en) * 2006-08-23 2007-08-29 北京同方微电子有限公司 Microprocessor kernal for cryptography calculation
JP2008102847A (en) * 2006-10-20 2008-05-01 Nec Corp Multithread program processing method and unit
US8578483B2 (en) * 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
US8312468B2 (en) * 2009-06-09 2012-11-13 Open Kernel Labs Methods and apparatus for fast context switching in a virtualized system
US9135215B1 (en) * 2009-09-21 2015-09-15 Tilera Corporation Route prediction in packet switched networks

Also Published As

Publication number Publication date
CN104050415A (en) 2014-09-17
CN104050415B (en) 2017-10-13
KR20140113557A (en) 2014-09-24
GB2514881A (en) 2014-12-10
JP2014182799A (en) 2014-09-29
US9207940B2 (en) 2015-12-08
JP5985526B2 (en) 2016-09-06
GB201404223D0 (en) 2014-04-23
GB2514881B (en) 2015-09-30
US20160092227A1 (en) 2016-03-31
DE102014003854A1 (en) 2014-09-18
KR20160072085A (en) 2016-06-22
KR101780303B1 (en) 2017-09-21
US20140281437A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
IN2014CH00978A (en)
GB2520644A (en) Accelerated interlane vector reduction instructions
GB2508533A (en) Instruction and logic to provide vector scatter-op and gather-op functionality
PH12017550124A1 (en) Decoupled processor instruction window and operand buffer
GB2533256A (en) Data processing systems
MY177359A (en) User gesture input to wearable electronic device involving movement of device
MX347774B (en) Saving/restoring selected registers in transactional processing.
MY168402A (en) Handling and routing interrupts to virtual processors
MX346496B (en) Instruction to compute the distance to a specified memory boundary.
GB2519017A (en) Next instruction access intent instruction
MY172572A (en) Exception handling in a data processing apparatus having a secure domain and a less secure domain
GB2508312A (en) Instruction and logic to provide vector load-op/store-op with stride functionality
GB2518116A (en) Vector move instruction controlled by read and write masks
GB2513266A (en) Providing logical partitions with hardware-thread specific information reflective of exclusive use of a processor core
MX346848B (en) Display object pre-generation.
WO2014150727A3 (en) Method, apparatuses and program product to save and store system memory management unit contexts
GB2517877A (en) Controlling an order for processing data elements during vector processing
IN2014DN05705A (en)
RU2015109474A (en) VECTOR EXCLUSION CODE
GB2507018A (en) Instruction and logic to provide vector loads and stores with strides and masking functionality
GB2520856A (en) Enabling Virtualization of a processor resource
MY159188A (en) Controlling generation of debug exceptions
GB2520860A (en) Systems, apparatuses, and methods for performing conflict detection and broadcasting contents of a register to data element positions of another register
WO2014033639A3 (en) Introspection of software program components and conditional generation of memory dump
JP2015504226A5 (en)