acpica/tests/aapits/spec/handlers.txt

445 lines
14 KiB
Plaintext
Executable File

/*
* The following assertions are based on description of
* ACPI Handler Support interfaces provided by ACPICA
* (section 6.9 "ACPI Miscellaneous Handler Support" of ACPICA ProgRef,
* routines AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler,
* AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler).
*
*/
/*
* ASSERTION 0000:
*
* AcpiInstallNotifyHandler routine can be successfully used to install the
* specified global (ACPI_ROOT_OBJECT) handler for given notify type events
* (ACPI_SYSTEM_NOTIFY or ACPI_DEVICE_NOTIFY). The handler passed with
* appropriate parameters is called for every notify of the type specified.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0001:
*
* AcpiInstallNotifyHandler routine can be successfully used to install
* the specified handler for notify events on the given ACPI object (Device,
* Processor, Power, or Thermal Zone). The handler passed with appropriate
* parameters is called whenever a notify occurs on the target object.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0002:
*
* When the Object handle parameter of AcpiInstallNotifyHandler routine
* is invalid AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0003:
*
* When the Type parameter of AcpiInstallNotifyHandler routine is
* not a valid value AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0004:
*
* When the Handler pointer parameter of AcpiInstallNotifyHandler routine
* is NULL the AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0005:
*
* If a handler for the given Object is already installed AE_ALREADY_EXISTS
* exception code is returned from AcpiInstallNotifyHandler.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0006:
*
* When the type of the Object parameter of AcpiInstallNotifyHandler routine
* is not one of the supported object types AE_TYPE exception code
* is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0007:
*
* If some call to AcpiOsAllocate routine during execution
* of AcpiInstallNotifyHandler routine returns NULL then AE_NO_MEMORY
* exception code is returned (insufficient dynamic memory to complete
* the request). Object parameter is eqaul to ACPI_ROOT_OBJECT.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0008:
*
* ASSERTION 0007 when Device parameter is an actual Object's Handle.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler
*/
/*
* ASSERTION 0009:
*
* AcpiRemoveNotifyHandler routine can be successfully used to remove
* the global handler for notify events that was previously installed
* via a call to AcpiInstallNotifyHandler. Then the handler will not be
* called whenever a notify of the type occurs.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler
*/
/*
* ASSERTION 0010:
*
* AcpiRemoveNotifyHandler routine can be successfully used to remove
* the handler for notify events that was previously installed on the
* target object via a call to AcpiInstallNotifyHandler. Then the handler
* will not be called whenever a notify on the object occurs.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler
*/
/*
* ASSERTION 0011:
*
* When the Device handler parameter of AcpiRemoveNotifyHandler routine
* is invalid AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler
*/
/*
* ASSERTION 0012:
*
* When the Type parameter of AcpiRemoveNotifyHandler routine is
* not a valid value AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler
*/
/*
* ASSERTION 0013:
*
* When the Handler pointer parameter of AcpiRemoveNotifyHandler
* routine is NULL AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler
*/
/*
* ASSERTION 0014:
*
* If a handler for the given Object is not installed AE_NOT_EXIST
* exception code is returned from AcpiRemoveNotifyHandler routine.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiRemoveNotifyHandler
*/
/*
* ASSERTION 0015:
*
* When the Handler pointer parameter of AcpiRemoveNotifyHandler
* routine is not the same as the one that is installed AE_BAD_PARAMETER
* exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallNotifyHandler, AcpiRemoveNotifyHandler
*/
/*
* ASSERTION 0016:
*
* AcpiInstallAddressSpaceHandler routine can be successfully used
* to install the specified global scope (ACPI_ROOT_OBJECT) address
* space setup and access handlers for the given AddressSpace or Operation
* Region ID. The setup handler passed with appropriate parameters is invoked
* to both initialize and terminate the operation region handling code. The
* access handler passed with appropriate parameters is invoked whenever AML
* code attempts to access the target Operation Region.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0017:
*
* ASSERTION 0016 in case a named ACPI object (Device, Processor, or
* Thermal Zone) owning relevant Operation Regions is specified as
* Device handle parameter of AcpiInstallAddressSpaceHandler routine.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0018:
*
* ASSERTION 0016 in case ACPI_DEFAULT_HANDLER is used as access Handler
* parameter of AcpiInstallAddressSpaceHandler routine to install the handler
* supplied with by the ACPI CA for that address space ID.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0019:
*
* ASSERTION 0017 in case ACPI_DEFAULT_HANDLER is used as access Handler
* parameter of AcpiInstallAddressSpaceHandler routine to install the handler
* supplied with by the ACPI CA for that address space ID.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0020:
*
* When the Device handle parameter of AcpiInstallAddressSpaceHandler routine
* does not refer to an object of type Device, Processor, ThermalZone, or the
* root object AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0021:
*
* When the Device handler parameter of AcpiInstallAddressSpaceHandler routine
* is invalid AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0022:
*
* When the SpaceId parameter of AcpiInstallAddressSpaceHandler routine
* is invalid AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0023:
*
* When the Handler pointer parameter of AcpiInstallAddressSpaceHandler
* routine is NULL the AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0024:
*
* If some setup or access handler for the given Device is already installed
* AE_ALREADY_EXISTS exception code is returned from AcpiInstallAddressSpaceHandler.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0025:
*
* When ACPI_DEFAULT_HANDLER is specified for an address space that
* has no default handler AE_NOT_EXIST exception code is returned from
* AcpiInstallAddressSpaceHandler.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0026:
*
* If some call to AcpiOsAllocate routine during execution
* of AcpiInstallAddressSpaceHandler routine returns NULL then
* AE_NO_MEMORY exception code is returned (insufficient dynamic
* memory to complete the request). Device parameter is equal to
* ACPI_ROOT_OBJECT.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0027:
*
* ASSERTION 0026 when Device parameter is an actual Object's Handle.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/
/*
* ASSERTION 0028:
*
* AcpiRemoveAddressSpaceHandler routine can be successfully used to remove
* the global handlers for Address Space setup and access that were previously
* installed via a call to AcpiInstallAddressSpaceHandler. Then the handlers
* will not be called whenever a relevant Operation Region is accessed.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler
*/
/*
* ASSERTION 0029:
*
* ASSERTION 0028 in case AcpiRemoveAddressSpaceHandler routine is
* applied to the particular Device (Device, Processor, or Thermal Zone).
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler
*/
/*
* ASSERTION 0030:
*
* When the Device handle parameter of AcpiRemoveAddressSpaceHandler routine
* does not refer to an object of type Device, Processor, ThermalZone, or the
* root object AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiRemoveAddressSpaceHandler
*/
/*
* ASSERTION 0031:
*
* When the Device handler parameter of AcpiRemoveAddressSpaceHandler routine
* is invalid AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler
*/
/*
* ASSERTION 0032:
*
* When the SpaceId parameter of AcpiRemoveAddressSpaceHandler routine
* is invalid AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler
*/
/*
* ASSERTION 0033:
*
* When the Handler pointer parameter of AcpiRemoveAddressSpaceHandler
* routine is NULL AE_BAD_PARAMETER exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler
*/
/*
* ASSERTION 0034:
*
* When the Handler pointer parameter of AcpiRemoveAddressSpaceHandler
* routine is not the same as the one that is installed AE_BAD_PARAMETER
* exception code is returned.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler, AcpiRemoveAddressSpaceHandler
*/
/*
* ASSERTION 0035:
*
* If a handler for the given scope is not installed AE_NOT_EXIST
* exception code is returned from AcpiRemoveAddressSpaceHandler routine.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiRemoveAddressSpaceHandler
*/
/*
* ASSERTION 0036:
*
* AcpiInstallAddressSpaceHandler routine can be successfully used
* to install the default address space setup and access handlers
* for the PCI root bridge, identified by _HID or _CID. Appropriate
* _REG method will be run with the ACTIVATE notifications.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallAddressSpaceHandler
*/