Hi,
Here is more information on Distributor and CPU Interface 0 initialization sequence that is running Linux. After the following initialization has run I am expecting Linux to be interrupted whenever CPU 1 writes to GICD_SGIR register. e.g. CPU 1 write of 0x0001000f to GICD_SGIR register should generate SGI 15 on CPU 0 but I do not see that happening. Do I need to do something else?
[When I write 0x0001000f from CPU 0 to GICD_SGIR - I do get SGI 15 - it is the cross call that is not working when I try to do the same write from CPU 1]
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CTRL) address af000000, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c08, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c0c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c10, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c14, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c18, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c1c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c20, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c24, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c28, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c2c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c30, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c34, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c38, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIGn) address af000c3c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIG + 0) address af000c00, value aaaaaaaa
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CONFIG + 4) address af000c04, value aaaaaaaa
[ +0.000000] Shafique: reading CPUMASK 00000001
[ +0.000000] Shafique: modified CPUMASK 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000820, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000824, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000828, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af00082c, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000830, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000834, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000838, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af00083c, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000840, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000844, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000848, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af00084c, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000850, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000854, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000858, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af00085c, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000860, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000864, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000868, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af00086c, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000870, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000874, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000878, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af00087c, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000880, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000884, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000888, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af00088c, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000890, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000894, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af000898, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af00089c, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008a0, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008a4, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008a8, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008ac, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008b0, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008b4, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008b8, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008bc, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008c0, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008c4, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008c8, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008cc, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008d0, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008d4, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008d8, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008dc, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008e0, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008e4, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008e8, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008ec, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008f0, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008f4, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008f8, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_TARGETn) address af0008fc, value 03030303
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000420, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000424, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000428, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af00042c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000430, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000434, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000438, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af00043c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000440, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000444, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000448, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af00044c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000450, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000454, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000458, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af00045c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000460, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000464, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000468, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af00046c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000470, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000474, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000478, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af00047c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000480, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000484, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000488, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af00048c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000490, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000494, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af000498, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af00049c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004a0, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004a4, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004a8, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004ac, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004b0, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004b4, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004b8, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004bc, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004c0, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004c4, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004c8, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004cc, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004d0, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004d4, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004d8, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004dc, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004e0, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004e4, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004e8, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004ec, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004f0, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004f4, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004f8, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PRIn) address af0004fc, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_ENABLE_CLEARn) address af000184, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_ENABLE_CLEARn) address af000188, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_ENABLE_CLEARn) address af00018c, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_ENABLE_CLEARn) address af000190, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_ENABLE_CLEARn) address af000194, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_ENABLE_CLEARn) address af000198, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_ENABLE_CLEARn) address af00019c, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_IGROUPn) address af000080, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_IGROUPn) address af000084, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_IGROUPn) address af000088, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_IGROUPn) address af00008c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_IGROUPn) address af000090, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_IGROUPn) address af000094, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_IGROUPn) address af000098, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_IGROUPn) address af00009c, value 00000000
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PENDING_CLEARn) address af000280, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PENDING_CLEARn) address af000284, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PENDING_CLEARn) address af000288, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PENDING_CLEARn) address af00028c, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PENDING_CLEARn) address af000290, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PENDING_CLEARn) address af000294, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PENDING_CLEARn) address af000298, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_PENDING_CLEARn) address af00029c, value ffffffff
[ +0.000000] Shafique: gic_dist_init writel_relaxed at (GIC_DIST_CTRL) address af000000, value 00000001
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_ENABLE_CLEAR) address af000180, value ffff0000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_ENABLE_SET) address af000100, value 0000ffff
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_PRIn) address af000400, value 00000000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_PRIn) address af000404, value 00000000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_PRIn) address af000408, value 00000000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_PRIn) address af00040c, value 00000000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_PRIn) address af000410, value 00000000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_PRIn) address af000414, value 00000000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_PRIn) address af000418, value 00000000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_DIST_PRIn) address af00041c, value 00000000
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_CPU_PRIMASK) address af002004, value 000000ff
[ +0.000000] Shafique: gic_cpu_init writel_relaxed at (GIC_CPU_CTRL) address af002000, value 00000001