Specifications
System Macros Invoked by Drivers
UNLOCK_SYSTEM_PAGES
UNLOCK_SYSTEM_PAGES
Terminates a request to lock down a series of system pages.
Format
UNLOCK_SYSTEM_PAGES [ipl]
Parameters
[ipl]
IPL at which to continue execution.
Description
The UNLOCK_SYSTEM_PAGES macro terminates a request to lock down a
series of contiguous system pages. In a code segment that uses this locking
technique, there must be exactly one UNLOCK_SYSTEM_PAGES macro call per
LOCK_SYSTEM_PAGES macro call. When the locked code segment completes,
it must invoke the UNLOCK_SYSTEM_PAGES macro to release all previously
locked pages.
The UNLOCK_SYSTEM_PAGES macro executes under the following conditions:
• When it invokes the UNLOCK_SYSTEM_PAGES macro, the code must
ensure that the stack is exactly as it was when the LOCK_SYSTEM_PAGES
macro was invoked. That is, if the code has pushed anything on the stack, it
must remove it before invoking UNLOCK_SYSTEM_PAGES.
• If it specified the ipl argument to the LOCK_SYSTEM_PAGES macro, the
code segment must restore the previous IPL, either explicity, through the use
of the ipl argument to the UNLOCK_SYSTEM_PAGES macro, or through the
use of one of the system synchronization macros (UNLOCK, FORKUNLOCK
or DEVICEUNLOCK). If it lowers IPL, the locked code segment must invoke
the appropriate system synchronization macro to release any spinlocks that
were required to protect the resources accessed at the elevated IPL.
2–102