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

Reply via email to