Hello all,
There is one thing which is unclear for me in GICv2.
GICv3 spec. explicitly says "SGIs and PPIs must be deactivated by the PE that activated the interrupt. SPIs can be deactivated by a different PE. "
In GICv2 I don't find anything related to this. Can I rely in the same behavior for SPIs of GICv3? or in GICv2 an SPI must be deactivated by the PE that previously activated it?
Cheers,
Jorge
Good question, I will look into why there's not statement in GICv2.
Priority drop must be done from the same core as did the activation, as it is how the GIC manages the core's running priority.
For Deactivation, it's updating the state of the SPI (which is global) rather the state of the core. Hence, the deactivation can come from any core.
Ok.
Could you please let me know, if you find anything against the sentence "the deactivation can come from any core"?
Thank you!
Do you have any updates on this topic? This actually is an important point in the design of software I maintain.