On 30 November 2016 at 16:23, Vijay Kilari <vijay.kil...@gmail.com> wrote: > On Mon, Nov 28, 2016 at 10:05 PM, Peter Maydell > <peter.mayd...@linaro.org> wrote: >> Still I would prefer it if we did this with the same >> mechanism for both TCG and KVM. A generic mechanism for >> "let the CPU reset trigger reset of many other devices in the >> system" isn't widely useful because real hardware doesn't >> have that kind of action-at-a-distance behaviour. > > To make direct call from arm_cpu_reset() to reset CPUIF, > I could not find a way to get GICv3CPUState from CPUARMState or > ARMCPU struct.
You don't want to directly call from arm_cpu_reset(). Coprocessor regs registered via cpregs can have reset functions, which get called automatically. This is what the TCG gicv3 code already does to reset the CPU i/f, the relevant code just needs to be arranged so it's used for KVM too. > Any idea how to get GICv3CPUState? > > In hw/intc/arm_gicv3_cpuif.c implementation, > el_hook function is registered to fetch GICv3CPUState > from CPUARMState struct, but it is for TCG Yes, you don't need the el hook. thanks -- PMM