Resource Arbitrator Services and Messages

Resource arbitrators resolve resource conflicts between devices. An arbitrator reviews a list of requirements for devices and finds the best allocation of resources to satisfy all devices. The Configuration Manager provides services and messages to support the operation of resource arbitrators. In particular, arbitrators register an arbitrator handler function with the Configuration Manager by using the CONFIGMG_Register_Arbitrator service. Once registered, this handler receives arbitration messages from the Configuration Manager whenever resolution of a conflict for the corresponding resource is needed.

There are these arbitrator services:

Service

Description

CONFIGMG_Deregister_Arbitrator

Removes a resource arbitrator.

CONFIGMG_Query_Arbitrator_Free_Data

Retrieves arbitrator-specific free information.

CONFIGMG_Query_Arbitrator_Free_Size

Retrieves the size of the free information the arbitrator would return in a call to the CONFIGMG_Query_Arbitrator_Free_Data function.

CONFIGMG_Register_Arbitrator

Registers a resource arbitrator.


There are this arbitration messages:

Message

Description

ARB_FORCE_ALLOC

Directs the arbitrator to retest, without failure, the given resource allocations.

ARB_QUERY_FREE

Requests information about free resources for a logical configuration.

ARB_RELEASE_ALLOC

Directs the arbitrator to clean up after a failed test allocation.

ARB_REMOVE

Sent when the device node associated with the arbitration handler is being removed.

ARB_RETEST_ALLOC

Directs the arbitrator to retest the given resource allocations.

ARB_SET_ALLOC

Directs the arbitrator to make a test allocation the real allocation.

ARB_TEST_ALLOC

Directs the arbitrator to test the given resource allocations.


The arbitration handler must return CR_DEFAULT for any messages it does not process.