How to pass more parameters to the DSP/BIOS module, such as SWI thread. There are only two arguments. e.g., How to deal with 4 parameters?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
How to pass more parameters to the DSP/BIOS module, such as SWI thread. There are only two arguments. e.g., How to deal with 4 parameters?
Most BIOS modules are written with a limited (arbitrary?) number of possible arguments as this had to be decided and hard-coded into the kernel; however, there are some other modules such as the MBX (mailbox) or QUE (Queue) objects which can alleviate this limitation. A QUE object is a FIFO into which you essentially pass a pointer to a buffer. Whenever another piece of code retrieves an object it pulls the oldest QUE element from the FIFO and passes it to that function. This would allow you to essentially pass extra arguments to a function, but it requires some careful architecting in your code.
You can take a look at the BIOS API guide for more information about how to code the use of these objects.