Hi there, According to my book one can send an interthread signal from the strongarm by doing *((int*) 0xb00401c0) = thread_id; However since the signals are kept in a bitfield, wouldn't *((int*) 0xb00401c0) |= 1 << thread_id; be more appropriate? Yours, Pieter
Hi Simoons, You basically write to the INTER_THD_SIG register by writing to the address 0xb00401c0. The value of thread_id in INTER_THD_SIG is not kept as a bit field. In fact there are only 5 least significant bits in this register which are to be used to store the thread_id (to store values from 0 to 23). Hence shifting the bit field (the second method) will not work. You have to use the first method to generate correct inter thread signals. Hope this helps. Sanjay P.J.Simoons wrote:
Hi there,
According to my book one can send an interthread signal from the strongarm by doing *((int*) 0xb00401c0) = thread_id; However since the signals are kept in a bitfield, wouldn't *((int*) 0xb00401c0) |= 1 << thread_id; be more appropriate?
Yours, Pieter
participants (2)
-
P.J.Simoons
-
Sanjay Kumar