![]() If the specified segment is not SS and the source register is outside the specified segment limit. Intel C/C++ Compiler Intrinsic Equivalent A store to the specified address range will trigger the UMONITOR sets up an address range for the monitor hardware using the content of source register as an effectiveĪddress and puts the monitor hardware in armed state. The width of the source register (16b, 32b or 64b) is determined by the effective addressing width, which is affected in the standard way by the machine mode settings and 67 prefix. The UMONITOR instruction causes a transactional abort when used inside a transactional region. Execution will continue to the instruction following MWAIT. If UMONITOR was executed prior to executing MWAIT and following the most recent execution of the legacy MONITOR instruction, MWAIT will not enter an optimized state. UMONITOR does not interoperate with the legacy MWAIT instruction. Except for the width of the source register, the instruction’s operation is the same in non-64-bit modes and in 64-bit mode. UMONITOR and UMWAIT may be executed at any privilege level. UMONITOR and UMWAIT are available when CPUID.7.0:ECX.WAITPKG is enumerated as 1. Like a load, UMONITOR sets the A-bit but not the D-bit in page tables. The instruction is subject to the permission checking and faults associated with a byte load. The UMONITOR instruction is ordered as a load operation with respect to other memory transactions. Additional information on determining what address range to use in order to prevent false wake-ups is described in Chapter 8, “MultipleProcessor Management” of the Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A. Only write-back memory is guaranteed to correctly trigger the monitoring hardware. The address range must use memory of the write-back type. By default, the DS segment is used to create a linear address that is monitored. The content of the source register is an effective address. The state of monitor hardware is used by UMWAIT. A store to an address within the specified address range triggers the monitoring hardware. The UMONITOR instruction arms address monitoring hardware using an address specified in the source register (the address range that the monitoring hardware checks for store operations can be determined by using the CPUID monitor leaf function, EAX=05H). The Mod field of the ModR/M byte must have value 11B. The address is contained in r16/r32/r64.ġ. The address range should be a write-back memory caching type. Sets up a linear address range to be monitored by hardware and activates the monitor. User Level Set Up Monitor Address Opcode / Instruction
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |