A method is provided to allow virtual devices that use a plurality of
processors in a multiprocessor systems, such as the BE environment. Using
this method, a synergistic processing unit (SPU) can either be dedicated
to performing a particular function (i.e., audio, video, etc.) or a
single SPU can be programmed to perform several functions on behalf of
the other processors in the system. The application, preferably running
in one of the primary (PU) processors, issues IOCTL commands through
device drivers that correspond to SPUs. The kernel managing the primary
processors responds by sending an appropriate message to the SPU that is
performing the dedicated function. Using this method, an SPU can be
virtualized for swapping multiple tasks or dedicated to performing a
particular task.