MXPA06004736A - System for invoking a privileged function in a device - Google Patents

System for invoking a privileged function in a device

Info

Publication number
MXPA06004736A
MXPA06004736A MXPA/A/2006/004736A MXPA06004736A MXPA06004736A MX PA06004736 A MXPA06004736 A MX PA06004736A MX PA06004736 A MXPA06004736 A MX PA06004736A MX PA06004736 A MXPA06004736 A MX PA06004736A
Authority
MX
Mexico
Prior art keywords
function
application
privileged
mode
invoke
Prior art date
Application number
MXPA/A/2006/004736A
Other languages
Spanish (es)
Inventor
Harold Kelley Brian
Chandrasekhar Ramesh
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of MXPA06004736A publication Critical patent/MXPA06004736A/en

Links

Abstract

System for invoking a privileged function in a device. The system includes a method that allows an application to invoke a function on a device, wherein the device includes at least two operating modes comprising a privileged mode and a non-privileged mode, and the function executes in the privileged mode. The method includes receiving a request from the application to invoke the function and determining the operating mode of the application. The method also includes invoking the function using an interrupt, if the application is executing in the non-privileged mode, wherein the function is executed within the same task as the application. The method also includes invoking the function directly, if the application is executing in the privileged mode.

Description

SYSTEM TO INVOKE A PRIVILEGED FUNCTION IN A DEVICE Field of the Invention The present invention relates generally to the efficient operation of a device, and more particularly, to a system for invoking a privileged function in a device.
Background of the Invention Advances in technology have resulted in the development of a variety of devices for home, office, and personal use. For example, computerized systems, such as desks, diaries and tablet computers, have become powerful tools for use in the home or in the office environment. Personal devices, such as cordless phones, personal digital assistants (PDAs), and search devices have also become more powerful and are now widely used. Many devices now comprise complex hardware and software that runs operating systems such as UNIX, LINUX or similar operating systems. Generally, these operating systems provide multiple modes of operation. For example, most systems provide privileged and unprivileged modes of operation. Programs that run in the privileged mode of operation are allowed to access the resources of the memory and system without limitation. Programs that run in non-privileged mode are prevented from accessing certain regions of memory and / or device systems. This configuration provides a level of protection for important functions of the memory or device. For example, when running third-party applications in non-privileged mode, important memory regions and device features can be protected from unauthorized access. Also, such an arrangement allows the system to isolate faults during execution. However, in some situations, it is desirable to allow privileged mode functions to be invoked from applications that run in privileged or non-privileged mode. For example, it is desirable that an application of the privileged mode have privileged access to the functions, but it is also desirable that an application running in the non-privileged mode have access to the same privileged functions. For example, it may be desirable to allow an application to access a selected system file, or device hardware, such as a device modem. Unfortunately, conventional systems use a trap to suspend the execution of the unprivileged application while a separate "privileged" core task performs the requested operation. As a result, the new task privileged mode results in complexity and additional programming overhead. There may also be additional system delays in the form of distributor latency. In addition, the new task can be executed in a different priority than the non-privileged application of which it was invoked, complicating with this additionally the programming and operation of the system. Therefore, what is needed is a system that provides a form for an application, which runs in privileged or non-privileged mode, to invoke a privileged function to run within the same task as the application, thereby providing access to privileged mode connections for applications that run under any mode.
SUMMARY OF THE INVENTION In one or more modalities, a system comprising methods and / or apparatuses that operate to provide access to privileged connections of applications that are executed in any privileged or non-privileged mode. For example, in a modality, the system provides a function manipulator that allows an application that runs in a non-privileged mode to execute privileged mode functions within the same task (or execution unit), thus avoiding the creation of tasks, programming and distributor latency. The function manipulator can also be accessed for privileged applications to allow those applications to execute privileged functions. In this way, the system is well mapped in the existing software since access to privileged mode functions can be achieved without changing the existing software model. In one or more modes, the function handler operates to determine whether a requesting application is running in privileged or non-privileged mode. If the requesting application is running in privileged mode, the function handler requests the privileged function directly. If the requesting application is running in non-privileged mode, the function handler generates an interrupt that is processed by, for example, a transition system that allows the privileged function to be called within the same task as the requesting non-privileged application . In this way, the function manipulator operates to provide privileged function connections for privileged and unprivileged applications. In one embodiment, the requesting application passes a function identifier to the function handler. The identifier of; function identifies the functions that are available for execution. In a modality, the function manipulator determines the function of the identifier and calls the function directly. In another embodiment, the function handler generates an interrupt and passes the identifier to the transition system, which uses the identifier to call the requested function after the appropriate validation. The interruption can be an interruption based on software, hardware or exception. In one embodiment, a method is provided that allows an application to invoke a function in a device, where the device includes at least two modes of operation comprising a privileged mode and a non-privileged mode, and the function is executed in the mode privileged. The method comprises receiving a request from the application to invoke the function and determine the mode of operation of the application. The method also involves invoking the function using an interrupt, if the application is running in non-privileged mode, where the function is executed within the same task as the application. The method also includes invoking the function directly, if the application is running in privileged mode. In another embodiment, the apparatus is provided that allows an application to invoke a function in a device, where the device includes at least two operating modes comprising a privileged mode and an unprivileged mode, and the function is executed in privileged mode . The apparatus comprises logic that receives a request from the application to invoke the function. The apparatus also comprises logic that determines the mode of operation of the application. The apparatus also includes logic to invoke the function using an interrupt, if the application is running in non-privileged mode, where the function is executed within the same task as the application. The apparatus also includes logic to invoke the function directly, if the application is running in privileged mode. In another embodiment, the apparatus allowing an application to invoke a function in a device is provided, wherein the device includes at least two operating modes comprising a privileged mode and a non-privileged mode, and the function is executed in the privileged mode . The apparatus comprises the means by receiving an application request to invoke the function and means to determine the operating mode of the application. The apparatus also comprises means for invoking the function using an interrupt, if the application is running in non-privileged mode, where the function is executed within the same task as the application. The apparatus also comprises means for invoking the function directly, if the application is running in the privileged mode. In another embodiment, a computer-readable medium comprising instructions is provided, which when executed by a processor in a device, operate to allow an application to invoke a function in a device, wherein the device includes at least two operating modes comprising a privileged mode and a non-privileged mode, and the function is executed in the privileged mode. The computer readable medium comprises instructions to receive an application request to invoke the function and instructions to determine the operating mode of the application. The means that can be read by computer also includes instructions to invoke the function that uses an interruption, if the application is running in non-privileged mode, where the function is executed within the same task as the application. The means that can be read by computer also includes instructions to invoke the function directly, if the application is running in the privileged mode. Other aspects, advantages and characteristics of the present invention will become apparent after review of the provisions set forth below in the Brief Description of the Drawings, Detailed Description of the Invention, and the Claims.
BRIEF DESCRIPTION OF THE DRAWINGS The foregoing aspects and the understood advantages of the embodiments described herein will become more readily apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings where: FIGURE 1 shows one embodiment of a system function manipulator that provides privileged function connections for privileged and unprivileged applications running on a device 102; FIGURE 2 shows a detailed block diagram of a device comprising a mode of a function handler system; and FIGURE 3 shows a flow diagram illustrating the operation of a mode of a function manipulator system for use in a device.
DETAILED DESCRIPTION OF THE INVENTION The following detailed description describes a function manipulator system that provides privileged function connections for privileged and unprivileged applications. For example, the system operates to receive function calls from privileged and unprivileged applications, after the operating mode of the requesting application is determined, and a fast and efficient transition is provided for the privileged function. The function is executed within the same execution unit as the requesting application. In this way, the function manipulator provides privileged function connections for privileged and unprivileged applications, which are then able to call privileged functions without generating a new task, thus avoiding the overload of new task creation, the latency of programming and the distributor. In one or more embodiments, the function manipulator system interacts with a runtime environment (or operating system) running on the device that is used to simplify the operation of the device, such as by providing generalized calls for specific resources of the device. device. A runtime environment is the Binary Execution Time Environment for the Wireless ™ software platform (BREW ™) developed by QUALCOMM, Inc., of San Diego, California. The following description describes a device running in a runtime environment, such as the BREW software platform. However, in one or more modes, the registration system is suitable for use with other types of runtime environments to provide fast and efficient registration of privileged function connections on a variety of devices, including generation systems or other control or monitoring programs. For example, the devices may include, but are not limited to, desktop computers, calendar-type computers, handheld computers, and portable devices, such as cordless phones, search engines, PDAs, e-mail devices, tablet computers, or other types. of computing devices. FIGURE 1 shows one embodiment of a function manipulator system 100 that provides privileged function connections for privileged and unprivileged applications running on a device 102. The system 100 can be part of a home computer, office computer or personal device , such as a cordless phone or PDA, or any other type of computing device. During the operation, one or more applications are executed in the device 102 and operate to provide information, functions and / or services to the device 102. For example, an application type may be a display application that operates to allow the device 102 to deploy movies, news or other types of multimedia content. In one embodiment, the device 102 includes a runtime environment 104 (i.e., BREW) that provides at least two modes of operation; particularly a non-privileged mode (NP) and a privileged mode (P). The unprivileged mode of operation is used to restrict access to applications running on the device and to provide failure detection. For example, for applications running in non-privileged mode they are restricted to selected memory regions and access to device logs or other resources can be denied. The privileged mode of operation allows applications that run under this mode to access the device's memory or resources without limitation. When an application runs on the device 102, it runs under the runtime environment to provide the desired functionality. For example, application 106 is executed in device 102 under non-privileged mode (NP) and application 108 is executed in device 102 in privileged mode (P).
Any of these applications may require functions or system services that are available through a privileged function. For example, applications may need access to privileged memory or device hardware resources. To obtain these functions or services, the function manipulator system 100 provides a mechanism that allows any application (106,108) to call the privileged function through a function manipulator 112. When called through function handler 112, function 110 is executed within the same execution unit as the requesting application. After the function 110 performs the requested service, the program control returns to the requesting application. As a result, the function manipulator system 100 provides a fast and efficient mechanism to allow privileged and unprivileged applications to perform privileged functions without the need for a new task to be created and scheduled for execution by the runtime environment, eliminating with that the complexity of the programmer and the latency of the associated distributor. FIGURE 2 shows a detailed block diagram of the device 102 comprising one embodiment of a function manipulator system. The device 102 comprises processing logic 202 and device resources 206 that are coupled to an internal data bus 204. The resources 206 of the device comprise the hardware, software, memory, logic or other resources that allow the device to interconnect to the internal and external resources, devices or systems. Also coupled to the processing logic 202 is the encoding memory 208 and the data memory 210. In one or more embodiments, the processing logic 202 comprises a CPU, processor, gate arrangement, hardware logic, memory elements, virtual machine, software, I / O interface and / or, any combination of hardware and software. In this way, the processing logic 202 generally comprises logic to execute instructions that can be read by machine. For example, the instructions can be loaded into devices 102 from a computer readable medium, such as a floppy disk, CDROM, flash memory, or other computer-readable medium that is interconnected to the device 102 by means of resources 206 Of the device. In another embodiment, the instructions can be downloaded to the device 102 from a network resource, such as a network server or any other type of network resource that is interconnected to the device 102 by the resources 206 of the device. The instructions, when executed by the processing logic 202, provide one or more modes of a function manipulator system as described herein. In one embodiment, the encoding memory 208 comprises RAM, ROM, FLASH, EEROM or any other suitable type of memory, or a combination thereof. The encoding memory 206 is divided into a privileged region 212 (P) and a non-privileged region 214 (NP) through the operation of a memory management unit 216. The MMU 216 operates to restrict the operation of the non-privileged programming code so that the non-privileged code has limited access rights to the selected regions of the encoding memory 208. The privileged region 212 includes the programming code that when executed has unrestricted access to the memory or other systems of the device 102. For example, the privileged code region 212 comprises the operating system (OS) code, the code of the user interface (Ul) the code, validation code, application code 108 (App-P) and privileged function code FUNC 110. The code displayed in privileged code region 212 is representative of the privileged code types that can be included in the device 102. It is also possible for the privileged code region 212 to include other types of privileged code for execution in the device 102. The non-privileged code region 214 includes programming code which when executed restricts the access only to the selected memory regions. For example, the non-privileged code region 214 comprises OS code and application code 106 (App-NP), and the function manipulator 106. In one or more embodiments, the FH 106 can be downloaded to the device 102 of a network or system, installed in the manufacture of the device, or added to the device from a computer readable medium. In one embodiment, the memory 210 comprises a privileged region 216 and a non-privileged region 218. The privileged region 226 comprises regions of data that can be accessed only by the privileged programming code. For example, the privileged data region 216 comprises data used by the OS code, Ul, validation, App-P and FUNC. The non-privileged data region 218 includes regions of data that can be accessed by the non-privileged programming code. For example, the non-privileged data region 218 comprises data used by the non-privileged program code OS, App-NP and FH. Also coupled to the data memory 210 is a memory unit memory address (MMU). MMU 220 operates to restrict access to non-privileged and privileged data regions. For example, a non-privileged application is restricted from having access to the data in the privileged data region 216, or the data belonging to other non-privileged applications in the non-privileged data region 218. The processing logic 202 also comprises logic 222 of the interrupt mode and logic 224. The logic 222 of the mode comprises a CPU, processor, logic, device register, software, or any combination of hardware and software that operates to allow a mode change between the operating modes of the device 102. For example, in one embodiment, logic 222 comprises a register whose bits set the mode of operation. For example, to change from privileged mode to non-privileged mode, bits selected in the registry are established, which results in a non-privileged stack that establishes the execution of the program that continues in non-privileged mode. The interrupt logic 224 comprises a CPU, processor, logic, software or any combination of hardware and software that operates to allow an interrupt to be received and processed by the processing logic 202. For example, the interrupt logic 224 may receive an interruption of the software that is generated by the programming code executed by the processing logic 202. In one embodiment, the function manipulator system uses software interruption to allow the non-privileged program code to execute a privileged function within the same task and priority. In one embodiment, the interrupt logic 224 processes software interactions, hardware interruptions, program exceptions or any other type of interruption as part of the operation of the function manipulator system. It should be noted that the configuration of the device 102 is only a suitable configuration for implementing the function manipulator system described. It is also possible to implement one or more embodiments of the function manipulator system using other configurations of the device, functional elements or configurations of the elements within the scope of the present invention. During the operation of the device 102, the processing logic 202 executes the non-privileged application code (i.e., App-NP) and / or privileged application code (App-P). When any application requires the services of a privileged function, such as Func 110, the respective application calls the 112 code of FH with an identifier that identifies the desired function (ie, Func) the 112 code of FH is the non-privileged code , and in this way can be called privileged applications as privileged. The FH code determines the mode of operation of the requesting application, and based on the determined mode, executes selected procedures to call the privileged Func function "to provide the requested services without creating a new task." The following is a summary of the procedures used by the FH 112 to respond to a request for the services of a privileged function. Receive a request for an application to execute a function associated with an identifier that is passed with the request 2. Determine the mode of operation of the requesting application 3. If the requesting application is running in privileged mode and operation, then : a) Search for the requested privileged function based on the identifier b) Call the privileged function c) Return to the requesting privileged application 4. If the requesting application that is running in the non-privileged operation mode, then: a) Generate a software interruption and pass the identifier b) Make a transition to a manipulator of interruption in a privileged way. c. Search for the privileged function requested based on the identifier. d. Call the privileged function. and. After the privileged function is executed, reestablish the non-privileged registers f. Return to the non-privileged applicant application. In one embodiment, the described function manipulator system comprises programming instructions stored in a computer readable medium, in which when executed by the processing logic 202, it provides the functions described herein. In one or more embodiments, the media that can be read by computer comprises a floppy disk, CD, memory card, FLASH memory device, RAM, ROM, or any other type of memory device. FIGURE 3 shows a flow diagram 300 illustrating the operation of a mode of a function manipulator system for use in a device, e.g. device 102. For clarity, the flow diagram 300 will be described with reference to the device shown in FIGURE 2. It will be assumed that the device is executing a BREW runtime environment that operates to create an execution unit 302. The execution unit 302 represents execution of the privileged or non-privileged applications in the device. A system schedule (not shown) operates to schedule the execution of applications to form execution unit 302. Typically, the programmer operates to schedule execution based on priority, but may operate to schedule execution based on other criteria. However, the function manipulator system described herein provides a function handler that operates within the same execution unit as a requesting application, thereby avoiding creating new tasks, associated complexity of the programmer and possible latency of the distributor. Execution unit 302 represents the execution of any privileged application (App-P) or non-privileged application (App-NP). The executing application may be a display application that allows the device to display various multimedia contents to a user of the device. When the application is executed, a requirement for the services of a privileged function (Func) occurs. To obtain the services of the privileged function, the application calls the FH 304 and passes an identifier that identifies the privileged function Func. It will be assumed that privileged functions available in the system have an associated identifier that can be discovered by the executing application. In one or more embodiments, the following functions are performed by the processing logic 202 executing programming instructions stored in the encoding memory 208, which can also process data in the data memory 210. In block 306, FH 304 obtains the identifier that identifies the privileged function Func. For example, the identifier can be passed to the FH in a register associated with the processing logic 202 or another memory location in the data memory 210. In block 308, a test is performed to determine whether the requesting application is running in privileged or non-privileged mode. For example, the processing logic determines the mode of the current process of the application when evaluating the registers of the state of the processor. If the requesting application is running in non-privileged mode, the method proceeds to block 310. If the requesting application is running in privileged mode, the method proceeds to block 312.
In block 312, it has been determined that the application is running in privileged mode. The FH code 304 searches for the requested privileged function (i.e. Func) based on the received identifier. For example, processing logic 202 uses the identifier to access a data structure that maps available functions and identifiers to determine the function that is requested by the requesting application. The data structure can be stored in the data memory 210. In block 314, the privileged Func function is called to perform the requested service. For example, the privileged function can access a system file or a hardware resource. In one mode, the processing logic executes programming instructions to call the Func privileged function. With execution, the Func function can also perform various parameters, approvals and validations to verify that the requesting application has passed the legal and valid parameters. Once the execution of the Func function has been completed, the program flow returns to the execution unit 302. Therefore, if a privileged application calls the Func function through the FH 304, the FH 304 operates to determine the requested function, based on the identifier, and calls that function to perform the requested service. If a non-privileged application calls the Func function through the FH 304, the FH 304 operates as follows to provide the requested service. In block 310, FH 304 generates an interrupt that operates to request that the mode of operation of the device transition to privileged mode 316 so that the privileged function Func can be executed. The interruption may be a software interruption or any other type of interruption that may be generated by the FH 304. The interruption includes the last identifier of the requesting application. For example, the interrupt can be generated and / or processed by the interrupt logic 224 shown in FIGURE 2. After the interrupt is generated, the programming execution flows to the programming code 316 of the privileged mode where the privileged function Func call within the same task as the requesting application. A brief description of the operation of the programming code 316 is provided in the following. However, for a more detailed description of the operation of code 316 of programming, the reader refers to the application of US Patent "SYSTEM TO PROVIDE TRANSITIONS BETWEEN OPERATIONAL MODES OF A DEVICE" that has Attorney's File No. 030620 which is incorporated herein by reference. After a privileged mode switch to a stack and validation of the passed function identifier occurs, the programming execution flows to block 318. In block 318, the desired privileged function is determined based on the passed identifier. For example, a data structure stored in the data memory 210 is searched by the logic 202 of the processing based on the identifier to identify the desired function Func. In the block 320, once the privileged function Func is determined, it is called . For example, in one embodiment, the processing logic 202 executes instructions stored in the encoding memory 208 to call the Func function. The privileged function can operate to open a file of the particular system that contains data for use by the non-privileged applicant application. In a modality, additional parameters are passed to the privileged function from the application. For example, the parameters can also indicate or define the type of service requested by the non-privileged application. The privileged function operates to validate these parameters to verify that the execution of the privileged function does not exceed the privileges granted to the application. For example, the function operates to validate the parameters so that the execution of the function will not exceed the memory restrictions placed on the application. In block 322, after the Func function is performed, the non-privileged mode registers are restored, including the non-privileged mode stack. The execution of the program returns to the non-privileged application unit 302 as shown in path 324. It should be noted that the program flow diagram 300 illustrates only one modality and that changes, additions or arrangements of the programming elements can be done without deviating from the scope of the invention. Accordingly, while one or more embodiments and methods and apparatuses for a function manipulator system have been illustrated and described herein, it will be appreciated that various changes can be made to the modalities without departing from their spirit or essential characteristics. Therefore, the descriptions and narrations herein are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims (18)

  1. NOVELTY OF THE INVENTION Having described the present invention, it is considered as a novelty and therefore the property described in the following claims is claimed as property.
  2. CLAIMS 1. A method to allow an application to invoke a function on a device, where the device includes at least two operating modes comprising a privileged mode and a non-privileged mode and the function is executed in privileged mode, the method characterized in that it comprises: receiving a request from the application to invoke the function; determine the mode of operation of the application; invoke the function using an interrupt, if the application is running in non-privileged mode, where the function is executed within the same task as the application; and invoke the function directly, if the application is running in privileged mode. 2. The method according to claim 1, characterized in that the interruption is a software interruption.
  3. 3. The method according to claim 1, further characterized in that it comprises determining the function based on an identifier that is passed with the request.
  4. 4. The method according to claim 1, further characterized by comprising returning to the application when the execution of the function is complete.
  5. 5. The method according to claim 1, characterized in that the device is a wireless device.
  6. 6. Apparatus for allowing an application to invoke a function in a device, wherein the device includes at least two operating modes comprising a privileged mode and a non-privileged mode and the function is executed in the privileged mode, the device is characterized in that it comprises: logic that receives a request from the application to invoke the function; logic that determines the operating mode of the application; logic to invoke the function using an interrupt, if the application is running in the non-privileged mode, where the function is executed within the same task as the application; and logic to invoke the function directly, if the application is running in privileged mode.
  7. 7. The apparatus according to claim 6, characterized in that the interruption is a software interruption. The apparatus according to claim 6, further characterized in that it comprises an identifier associated with the request identifying the function. 9. The apparatus according to claim 6, characterized in that the device is a wireless device. 10. Apparatus for allowing an application to invoke a function in a device, wherein the device includes at least two operating modes comprising a privileged mode and a non-privileged mode, and the function is executed in the privileged mode, the apparatus is characterized in that it comprises: means for receiving a request from the application to invoke the function; means for determining the mode of operation of the application; means to invoke the function using an interrupt, if the application is executing in non-privileged mode, where the function is executed within the same task as the application; and means to invoke the function directly, if the application is running in privileged mode. 11. The apparatus according to claim 10, characterized in that the interruption is a software interruption. 12. The apparatus according to claim 10, further characterized in that it comprises identifier means for identifying the function. The apparatus according to claim 10, characterized in that the device is a wireless device. 14. A computer-readable medium comprising instructions, which when executed by a processor in a device, operates to allow an application to invoke a function in a device, where the device includes at least two operating modes comprising a privileged mode and a non-privileged mode and the function is executed in the privileged mode, the means that can be read by computer characterized because it comprises: instructions to receive a request from the application to invoke the function; instructions to determine the operation mode of the application; instructions to invoke the function using an interrupt, if the application is running in non-privileged mode, where the function is executed within the same task as the application; and instructions to invoke the function directly, if the application is running in privileged mode. 15. The means that can be read by computer according to claim 1, characterized in that the interruption is a software interruption. 16. The computer readable medium according to claim 1, further characterized in that it comprises instructions for determining the function based on an identifier that is passed with the request. 17. The computer-readable medium according to claim 1, further characterized by comprising instructions for returning the application when the execution of the function is complete. 1
  8. 8. The computer readable medium according to claim 1, characterized in that the device is a wireless device.
MXPA/A/2006/004736A 2003-10-29 2006-04-27 System for invoking a privileged function in a device MXPA06004736A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10697355 2003-10-29

Publications (1)

Publication Number Publication Date
MXPA06004736A true MXPA06004736A (en) 2006-10-17

Family

ID=

Similar Documents

Publication Publication Date Title
JP5006366B2 (en) System that provides transitions between device operating modes
KR100832274B1 (en) System for invoking a privileged function in a device
EP1690180B1 (en) System for dynamic registration of privileged mode hooks in a device
US7496958B2 (en) System for selectively enabling operating modes of a device
MXPA06004736A (en) System for invoking a privileged function in a device
MXPA06004670A (en) System for providing transitions between operating modes of a device
MXPA06004681A (en) System for dynamic registration of privileged mode hooks in a device
MXPA06004662A (en) System for selectively enabling operating modes of a device