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[*].
Thanks.
Xiaojuan