Patent Document ID: 9851969
Application ID: 12822358
Patent Flag: 1

Claim One:
1. A computer implemented method for hiding selected installed functions of a multi-function instruction, the multi-function instruction being architected to be executed by a single processor to cause the single processor to perform a single function of a plurality of installed functions, the single function being identified by the multi-function instruction, the plurality of installed functions comprising a query function to discover installed functions and one or more non-query functions to operate on operands of a multi-function instruction, the method comprising: setting, by a hypervisor, a control value configured to control availability of installed functions to multi-function instructions of a virtual machine of a Host computer comprising one or more processors, each of said one or more processors being configured to perform each of a plurality of said installed functions, the plurality of installed functions comprising one or more first installed functions and one or more second installed functions, the hypervisor being configured to create virtual machines; and based on the control value, making the one or more first installed functions of a processor unavailable to multi-function instructions of the virtual machine and making the one or more second installed functions of the processor available to the multi-function instructions of the virtual machine; and executing a multi-function instruction by the virtual machine, the multi-function instruction comprising an opcode field and specifying a single function to be performed of the plurality of installed functions, the multi-function instruction being configured to select any one of a plurality of functions, including a query function and one or more non-query functions, the execution of the multi-function instruction comprising: based on the multi-function instruction specifying a query function as the single function to be performed, performing the query function, the performing the query function comprising x)-y): x) using the control value to determine that the one or more first installed functions are unavailable and that the one or more second installed functions are available; and y) storing a result value, the stored result value indicating that the one or more first installed functions are not available to multi-function instructions of the virtual machine and that the one or more second installed functions are available to multi-function instructions of the virtual machine; and based on the multi-function instruction specifying a non-query function as the single function to be performed, performing the non-query function comprising a)-c): a) using the control value to determine that the one or more first installed functions are unavailable and that the one or more second installed functions are available; b) based on the non-query function being one of said second installed functions, performing the non-query function; and c) based on the non-query function being one of said first installed functions, blocking performing said non-query function so that it is not performed on the virtual machine, in hardware or otherwise.