Some device need for remain job like a below.

[gicd]
static int32_t vdev_gicd_post(struct arch_vdev_info *info,
                        struct arch_regs *regs)
{
    uint8_t isize = 4;

    if (regs->cpsr & 0x20) /* Thumb */
        isize = 2;

    regs->pc += isize;

    return 0;
}