acpica/tests/aapits/spec/init.txt

778 lines
22 KiB
Plaintext
Executable File

/*
* The following assertions are based on description of
* ACPI Subsystem Initializing interfaces provided by ACPICA
* (section 6.1 "Subsystem Initialization, Shutdown, and Status"
* of ACPICA ProgRef, routines AcpiInitializeSubsystem,
* AcpiInstallInitializationHandler, AcpiEnableSubsystem,
* AcpiInitializeObjects, AcpiGetSystemInfo, AcpiSubsystemStatus,
* AcpiFormatException, AcpiPurgeCachedObjects, AcpiTerminate
*
*/
/*
SEE: see all these "There are no any calls to the AcpiOs*
interfaces while the routine is thus invoked"
*/
/*
* ASSERTION 0000:
*
* The call to AcpiInitializeSubsystem routine
* initiates call to AcpiOsInitialize routine
* of OS Service Layer.
*
* ROUTINES: AcpiInitializeSubsystem
*/
/*
* ASSERTION 0001:
*
* If AcpiOsInitialize routine returns AE_ERROR then
* AcpiInitializeSubsystem routine returns AE_ERROR too.
*
* ROUTINES: AcpiInitializeSubsystem
*/
/*
* ASSERTION 0002:
*
* If some call to AcpiOsAllocate routine during invocation
* of AcpiInitializeSubsystem routine returns NULL then
* AcpiInitializeSubsystem returns AE_NO_MEMORY.
*
* IMPLEMENTATION:
*
* The test initiates repeatedly the sequence of calls
* to AcpiInitializeSubsystem and AcpiTerminate and forces
* the sebsequently increased call to AcpiOsAllocate
* to return NULL and expects AE_NO_MEMORY for that call
* until the index of failed call increases the actual
* number of memory allocations actually required during
* initialization.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0003:
*
* If some call to AcpiOsCreateLock routine during invocation
* of AcpiInitializeSubsystem routine returns AE_NO_MEMORY then
* AcpiInitializeSubsystem returns AE_NO_MEMORY too.
*
* IMPLEMENTATION:
*
* something like that in ASSERTION 0002 !!!!!!!!!!!!!!!:
* ===================
*
* The test initiates repeatedly the sequence of calls
* to AcpiInitializeSubsystem and AcpiTerminate and forces
* the sebsequently increased call to AcpiOsCreateLock to
* return AE_NO_MEMORY and expects AE_NO_MEMORY for that call
* until the index of failed calls increases the actual number
* of Locks (really only one) required during initialization.
*
* ROUTINES: AcpiInitializeSubsystem
*/
/*
* ASSERTION 0004:
*
* If some call to AcpiOsCreateSemaphore routine during invocation
* of AcpiInitializeSubsystem routine returns AE_NO_MEMORY then the
* routine returns AE_NO_MEMORY too.
*
* IMPLEMENTATION:
* something like that in ASSERTION 0002 !!!!!!!!!!!!!!!:
*
* ROUTINES: AcpiInitializeSubsystem
*/
/*
* ASSERTION 0005:
*
* Call to AcpiTerminate routine frees all the resources
* allocated by AcpiInitializeSubsystem returned AE_OK.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0006:
*
* AcpiTerminate can be invoked before any call to AcpiInitializeSubsystem.
*
* ROUTINES: AcpiTerminate
*/
/*
* ASSERTION 0007:
*
* The repeated call to AcpiTerminate is available.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0008:
*
* Call to AcpiTerminate routine frees all the resources
* allocated by AcpiInitializeSubsystem one returned AE_ERROR.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0009:
*
* Call to AcpiTerminate routine frees all the resources
* allocated by AcpiInitializeSubsystem one returned AE_NO_MEMORY.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0010:
*
* All the resources allocated by AcpiInitializeSubsystem routine
* returned a FAILURE due to some AcpiOs interface returning AE_ERROR
* are freed.
*
* IMPLEMENTATION:
*
* The test forces the sebsequently increased call to any AcpiOs
* to return AE_ERROR (if any) and expects a FAILURE for that call
* to AcpiInitializeSubsystem until the count of overall AcpiOs calls
* increased and checks differences between successful allocations and
* realeasings of the relevant system resources. Then AcpiInitializeSubsystem
* must return a FAILURE and the differences should be equal to zeroes.
*
* ROUTINES: AcpiInitializeSubsystem
*/
/*
* ASSERTION 0011:
*
* All the resources allocated by AcpiInitializeSubsystem routine
* returned AE_NO_MEMORY due to some AcpiOs interface returning NULL
* (AE_NO_MEMORY) are freed.
*
* IMPL:
*
* ROUTINES: AcpiInitializeSubsystem
*/
/*
* ASSERTION 0012:
*
* Check that the complementary pair of routines, AcpiInitializeSubsystem
* and AcpiTerminate, can be invoked repeatedly multiple times, each time
* the call to AcpiTerminate follows the call to AcpiInitializeSubsystem,
* and all the resources are freed after AE_OK return of AcpiTerminate.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0013:
*
* The repeated call to AcpiInitializeSubsystem routine without the
* intermediate call to AcpiTerminate one results in AE_ERROR.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0014:
*
* After the successful call to AcpiLoadTables routine
* AcpiEnableSubsystem one can be successfully used to Complete
* the ACPI Subsystem initialization and enable ACPI operations.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem
*/
/*
* ASSERTION 0015:
*
* After the successful call to AcpiEnableSubsystem routine
* the next call to AcpiTerminate one frees all the resources
* allocated by Core Subsystem.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0016:
*
* If the initial call to AcpiInitializeSubsystem routine was not
* performed at all then AcpiEnableSubsystem routine returns AE_ERROR.
* There are no any calls to the AcpiOs* interfaces while the routine is
* thus invoked.
*
* ROUTINES: AcpiEnableSubsystem
*/
/*
* ASSERTION 0017:
*
* If the initial call to AcpiInitializeSubsystem routine resulted in
* failure then next use of AcpiEnableSubsystem routine results in failure
* too. There are no any calls to the AcpiOs* interfaces while the routine
* is thus invoked.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiEnableSubsystem
*/
/*
* ASSERTION 0018:
*
* If the initial call to AcpiLoadTables routine was not performed at
* all then AcpiEnableSubsystem routine fails.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiEnableSubsystem
*/
/*
* ASSERTION 0019:
*
* If the initial call to AcpiLoadTables routine resulted in failure
* then next use of AcpiEnableSubsystem routine results in failure too.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem
*/
/*
* ASSERTION 0020:
*
* If AcpiEnableSubsystem routine initially failed then the next
* call to AcpiTerminate one frees all the resources allocated
* by Core Subsystem.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0021:
*
* If AcpiEnableSubsystem routine initially returned AE_OK then any
* repeated call to it results in failure. The next call to AcpiTerminate
* routine frees all the resources allocated by Core Subsystem.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0022:
*
* After the successful call to AcpiEnableSubsystem routine
* AcpiInitializeObjects one can be successfully used to initialize
* objects within the ACPI namespace.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects
*/
/*
* ASSERTION 0023:
*
* After the successful call to AcpiInitializeObjects routine
* the next call to AcpiTerminate one frees all the resources
* allocated by Core Subsystem.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects
* AcpiTerminate
*/
/*
* ASSERTION 0024:
*
* If the initial call to AcpiInitializeSubsystem routine was not
* performed at all then AcpiInitializeObjects routine returns AE_ERROR.
* There are no any calls to the AcpiOs* interfaces while the routine is
* thus invoked.
*
* ROUTINES: AcpiInitializeObjects
*/
/*
* ASSERTION 0025:
*
* If the initial call to AcpiInitializeSubsystem routine resulted in
* failure then next use of AcpiInitializeObjects routine results in failure
* too. There are no any calls to the AcpiOs* interfaces while the routine
* is thus invoked.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiInitializeObjects
*/
/*
* ASSERTION 0026:
*
* If the initial call to AcpiLoadTables routine was not performed at
* all then AcpiInitializeObjects routine fails.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiInitializeObjects
*/
/*
* ASSERTION 0027:
*
* If the initial call to AcpiLoadTables routine resulted in failure
* then next use of AcpiInitializeObjects routine results in failure too.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiInitializeObjects
*/
/*
* ASSERTION 0028:
*
* If the initial call to AcpiEnableSubsystem routine was not performed at
* all then AcpiInitializeObjects routine fails.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiInitializeObjects
*/
/*
* ASSERTION 0029:
*
* If the initial call to AcpiEnableSubsystem routine resulted in failure
* then next use of AcpiInitializeObjects routine results in failure too.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects
*/
/*
* ASSERTION 0030:
*
* If AcpiInitializeObjects routine failed then the next
* call to AcpiTerminate one frees all the resources allocated
* by Core Subsystem.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiTerminate
*/
/*
* ASSERTION 0031:
*
* If AcpiInitializeObjects routine initially returned AE_OK then any
* repeated call to it results in failure. The next call to AcpiTerminate
* routine frees all the resources allocated by Core Subsystem.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiTerminate
*/
/*
* ASSERTION 0032:
*
* On the call to AcpiInitializeObjects routine if the ACPI_NO_DEVICE_INIT
* flag is not set up then the _STA and _INI methods on the device objects
* will be run during the call, at that _INI will be run only either _STA
* is not present or after the _STA invocation indicating that the device
* is present and enabled.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
*/
/*
* ASSERTION 0033:
*
* On the call to AcpiInitializeObjects routine if the ACPI_NO_DEVICE_INIT
* flag is set up then the _INI and _STA methods on the device objects will
* not be run during the call.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0034:
*
* On the call to AcpiInitializeObjects routine if the ACPI_NO_OBJECT_INIT
* flag is not set up then the final initialization pass to complete
* initialization of OperationRegions, BufferFields, Buffers, and Packages
* will be run during the call.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects
*/
/*
* ASSERTION 0035:
*
* On the call to AcpiInitializeObjects routine if the ACPI_NO_OBJECT_INIT
* flag is set up then the final initialization pass to complete initialization
* of OperationRegions, BufferFields, Buffers, and Packages will not be run
* during the call.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects
*/
/*
* ASSERTION 0036:
*
* After the exit out of the AcpiInitializeObjects routine
* the object cache appears to be purged so that next call
* to AcpiPurgeCachedObjects routine does not initiate any
* call to to the AcpiOs* interfaces.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiPurgeCachedObjects
*/
/*
* ASSERTION 0037:
*
* If the system was successfully initialized, that means
* the following sequence of successful calls:
*
* AcpiInitializeSubsystem
* AcpiLoadTables
* AcpiEnableSubsystem
* AcpiInitializeObjects
*
* then AcpiSubsystemStatus returns AE_OK.
*
* ROUTINES: AcpiSubsystemStatus, AcpiInitializeSubsystem,
* AcpiLoadTables, AcpiEnableSubsystem,
* AcpiInitializeObjects
*/
/*
* ASSERTION 0038:
*
* If the system was shuted down after successful initialization,
* that means the following sequence of successful calls:
*
* AcpiInitializeSubsystem
* AcpiLoadTables
* AcpiEnableSubsystem
* AcpiInitializeObjects
* AcpiTerminate
*
* then AcpiSubsystemStatus returns AE_ERROR.
*
* ROUTINES: AcpiSubsystemStatus, AcpiInitializeSubsystem,
* AcpiLoadTables, AcpiEnableSubsystem,
* AcpiInitializeObjects, AcpiTerminate
*/
/*
* ASSERTION 0039:
*
* If the system initialization was not complete,
* means that only a part of the following sequence
* of successful calls was performed:
*
* AcpiInitializeSubsystem
* AcpiLoadTables
* AcpiEnableSubsystem
*
* then AcpiSubsystemStatus returns AE_ERROR.
*
* ROUTINES: AcpiSubsystemStatus, AcpiInitializeSubsystem,
* AcpiLoadTables, AcpiEnableSubsystem,
*/
/*
* ASSERTION 0040:
*
* If the system initialization doesn't succeed,
* means that some of the routines in the following
* sequence failed:
*
* AcpiInitializeSubsystem
* AcpiLoadTables
* AcpiEnableSubsystem
* AcpiInitializeObjects
*
* then AcpiSubsystemStatus returns AE_ERROR.
*
* ROUTINES: AcpiSubsystemStatus, AcpiInitializeSubsystem,
* AcpiLoadTables, AcpiEnableSubsystem,
* AcpiInitializeObjects
*/
/*
* ASSERTION 0041:
*
* AcpiGetSystemInfo routine returns AE_BUFFER_OVERFLOW when the Length
* field of the OutBuffer parameter indicates that the specified buffer
* is too small to hold the system information. Upon return, the Length
* field contains the minimum required buffer length. The routine returns
* AE_OK being repeatedly called passed with the properly updated OutBuffer
* parameter. The buffer will be properly filled with the ACPI_SYSTEM_INFO
* structure.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiGetSystemInfo
*/
/*
* ASSERTION 0042:
*
* AcpiGetSystemInfo routine returns AE_BAD_PARAMETER when:
* - the OutBuffer pointer is NULL,
* - the Length field of the OutBuffer is not ACPI_ALLOCATE_BUFFER,
* but the Pointer field of the OutBuffer is NULL.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiGetSystemInfo
*/
/*
* ASSERTION 0043:
*
* AcpiGetSystemInfo routine returns AE_OK passed with the equal to
* ACPI_ALLOCATE_BUFFER Length field of the OutBuffer parameter after
* AcpiInitializeSubsystem routine was successfully executed and there
* was enough memory to allocate. Upon return, the Pointer field of the
* OutBuffer parameter will point to a buffer properly filled with the
* ACPI_SYSTEM_INFO structure. The buffer can successfully be released
* by AcpiOsFree routine.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiGetSystemInfo, AcpiOsFree
*/
/*
* ASSERTION 0044:
*
* AcpiGetSystemInfo routine returns AE_NO_MEMORY passed with the equal
* to ACPI_ALLOCATE_BUFFER Length field of the OutBuffer parameter after
* AcpiInitializeSubsystem routine was successfully executed if there
* was no enough memory to allocate (AcpiOsFree returns NULL).
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiGetSystemInfo, AcpiOsFree
*/
/*
* ASSERTION 0045:
*
* AcpiGetSystemInfo routine fails passed with the equal to
* ACPI_ALLOCATE_BUFFER Length field of the OutBuffer parameter
* before AcpiInitializeSubsystem routine was successfully executed
* disregard of AcpiOsFree successful execution.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiGetSystemInfo, AcpiOsFree
*/
/*
* ASSERTION 0046:
*
* AcpiInstallInitializationHandler routine result in AE_BAD_PARAMETER
* if NULL is specified as its Handler parameter.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0047:
*
* AcpiInstallInitializationHandler routine sets up the global handler
* for initialization handling which is invoked by Core Subsystem during
* call to AcpiInitializeObjects routine for each Device object within
* the namespace after the Device has been initialized (the _INI and _STA
* methods have been run on the device).
*
* An Acpi namespace Object which pointer to the handler will being
* passed to the specified global handler routine should be Device
* objects, the Function parameter should be equal to the manifest
* constant ACPI_INIT_DEVICE_INI.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0048:
*
* After a global initialization handler was successfully set up
* additional calls to AcpiInstallInitializationHandler routine result
* in AE_ALREADY_EXISTS until the Core Subsystem shutdown by AcpiTerminate().
* The initial handler is not overwritten.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0049:
*
* If the initial call to AcpiInitializeSubsystem routine was not
* performed at all then AcpiInstallInitializationHandler routine
* returns AE_ERROR. There are no any calls to the AcpiOs* interfaces
* while the routine is thus invoked.
*
* ROUTINES: AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0050:
*
* If the initial call to AcpiInitializeSubsystem routine resulted in
* failure then next use of AcpiInstallInitializationHandler routine
* results in failure too. There are no any calls to the AcpiOs* interfaces
* while the routine is thus invoked.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0051:
*
* When the global handler for initialization handling invoked
* by the Core Subsystem during call to AcpiInitializeObjects
* routine results in AE_CTRL_TERMINATE the Subsystem stops the walk
* through the Acpi namespace tree immediately so that the _INI
* and _STA methods will not have been run on the remained devices.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0052:
*
* When the global handler for initialization handling invoked
* by the Core Subsystem during call to AcpiInitializeObjects
* routine results in AE_CTRL_DEPTH the Subsystem stops the walk
* deeply into the Acpi namespace tree so that the _INI and _STA
* methods will not have been run on the devices located deeply
* on the tree.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0053:
*
* Any combinations of the manifest constants:
*
* ACPI_NO_ADDRESS_SPACE_INIT
* ACPI_NO_HARDWARE_INIT
* ACPI_NO_EVENT_INIT
* ACPI_NO_ACPI_ENABLE
* ACPI_NO_HANDLER_INIT
*
* can be passed to AcpiEnableSubsystem routine used in the common
* sequence of the calls during the ACPI Subsystem successful initialization.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiSubsystemStatus, AcpiTerminate
*/
/*
* ASSERTION 0054:
*
* If some call to AcpiOsAllocate routine during invocation
* of AcpiEnableSubsystem routine returns NULL then
* AcpiEnableSubsystem returns AE_NO_MEMORY.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiTerminate
*/
/*
* ASSERTION 0055:
*
* If some call to AcpiOsAllocate routine during invocation
* of AcpiInitializeObjects routine returns NULL then
* AcpiInitializeObjects returns AE_NO_MEMORY.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiTerminate
*/
/*
* ASSERTION 0056:
*
* AcpiFormatException routine returns a human-readable string
* determined by the any specified ACPI exception code.
*
* ROUTINES: AcpiFormatException
*/
/*
* ASSERTION 0057:
*
* When a wrong ACPI exception code is passed to AcpiFormatException
* routine the routine returns a string that is not equal to any string
* which is relevant to correct ACPI exception code.
*
* ROUTINES: AcpiFormatException
*/
/*
* ASSERTION 0058:
*
* AcpiPurgeCachedObjects routine frees all memory blocks
* not released after Method execution so that the object
* cache appears to be purged.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiPurgeCachedObjects
*/
/*
* ASSERTION 0059:
*
* When during Device objects initialization subsequent Device's
* _STA Method indicate that the Device is not present (and not
* "functioning") no any _STA or _INI method of this Device's
* childrens will be invoked.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem, AcpiInitializeObjects,
* AcpiInstallInitializationHandler
*/
/*
* ASSERTION 0060:
*
* Variation of ASSERTION 0019 when FADT is not present
* among the registered Tables. AcpiEnableSubsystem routine
* results in failure.
*
* ROUTINES: AcpiInitializeSubsystem, AcpiLoadTables,
* AcpiEnableSubsystem
*/