27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ACPI Source Language (ASL)Reference<br />

19.6.85 Multiply (Integer Multiply)<br />

Syntax<br />

Multiply (Multiplic<strong>and</strong>, Multiplier, Result) => Integer<br />

Result = Multiplic<strong>and</strong> * Multiplier => Integer<br />

Result *= Multiplier => Integer<br />

Arguments<br />

Multiplic<strong>and</strong> <strong>and</strong> Multiplier are evaluated as Integers.<br />

Description<br />

The Multiplic<strong>and</strong> is multiplied by Multiplier <strong>and</strong> the result is optionally stored into Result. Overflow<br />

conditions are ignored <strong>and</strong> results are undefined.<br />

19.6.86 Mutex (Declare Synchronization/Mutex Object)<br />

Syntax<br />

Mutex (MutexName, SyncLevel)<br />

Arguments<br />

Creates a data mutex synchronization object named MutexName, with a synchronization level from<br />

0 to 15 as specified by the Integer SyncLevel.<br />

Description<br />

A synchronization object provides a control method with a mechanism for waiting for certain events.<br />

To prevent deadlocks, wherever more than one synchronization object must be owned, the<br />

synchronization objects must always be released in the order opposite the order in which they were<br />

acquired.<br />

The SyncLevel parameter declares the logical nesting level of the synchronization object. The<br />

current sync level is maintained internally for a thread, <strong>and</strong> represents the greatest SyncLevel among<br />

mutex objects that are currently acquired by the thread. The SyncLevel of a thread before acquiring<br />

any mutexes is zero. The SyncLevel of the Global Lock (\_GL) is zero.<br />

All Acquire terms must refer to a synchronization object with a SyncLevel that is equal or greater<br />

than the current level, <strong>and</strong> all Release terms must refer to a synchronization object with a SyncLevel<br />

that is equal to the current level.<br />

Mutex synchronization provides the means for mutually exclusive ownership. Ownership is acquired<br />

using an Acquire term <strong>and</strong> is released using a Release term. Ownership of a Mutex must be<br />

relinquished before completion of any invocation. For example, the top-level control method cannot<br />

exit while still holding ownership of a Mutex. Acquiring ownership of a Mutex can be nested (can be<br />

acquired multiple times by the same thread).<br />

Version 6.0 865

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!