On 2022/5/10 上午1:56, Richard Henderson wrote:
+ case EXTIOI_IPMAP_START ... EXTIOI_IPMAP_END - 1:
+ index = (offset - EXTIOI_IPMAP_START) >> 2;
+ s->ipmap[index] = val;
+ break;
Do you need to recompute the entire interrupt map when ipmap changes?
Sorry, could you explain it in more detail? i can not understand the meanning of 'the
entire interrupt map'?
I mean, ipmap[*] and coremap[*] controls how isr[*] maps to the various cpus, as
coreisr[*]. If either ipmap or coremap changes, do you need to re-compute coreisr[*]
from the input isr[*]?
I think the interrupt has been handled by the core before set coremap or ipmap, and
coreisr[*] also has been set and cleard by original core.
So, the new mapped core need not to update the coreisr[*].