write_gicreg
write_gicreg(val, ICH_LR11_EL2);
write_gicreg(vmcr, ICH_VMCR_EL2);
write_gicreg(val, ICH_LR12_EL2);
write_gicreg(val, ICH_LR13_EL2);
write_gicreg(vmcr, ICH_VMCR_EL2);
write_gicreg(val, ICH_LR14_EL2);
write_gicreg(val, ICH_LR15_EL2);
write_gicreg(val, ICH_AP0R0_EL2);
write_gicreg(val, ICH_AP0R1_EL2);
write_gicreg(val, ICH_AP0R2_EL2);
write_gicreg(val, ICH_AP0R3_EL2);
write_gicreg(val, ICH_AP1R0_EL2);
write_gicreg(val, ICH_AP1R1_EL2);
write_gicreg(val, ICH_AP1R2_EL2);
write_gicreg(val, ICH_AP1R3_EL2);
write_gicreg(0, ICH_HCR_EL2);
write_gicreg(compute_ich_hcr(cpu_if), ICH_HCR_EL2);
write_gicreg(ICC_SRE_EL1_SRE, ICC_SRE_EL1);
write_gicreg(0, ICC_SRE_EL1);
write_gicreg(cpu_if->vgic_vmcr, ICH_VMCR_EL2);
write_gicreg(read_gicreg(ICC_SRE_EL2) & ~ICC_SRE_EL2_ENABLE,
write_gicreg(vgic_ich_hcr_trap_bits() | ICH_HCR_EL2_En, ICH_HCR_EL2);
write_gicreg(val | ICC_SRE_EL2_ENABLE, ICC_SRE_EL2);
write_gicreg(1, ICC_SRE_EL1);
write_gicreg(0, ICH_HCR_EL2);
write_gicreg(0, ICC_SRE_EL1);
write_gicreg(sre, ICC_SRE_EL1);
write_gicreg(vmcr, ICH_VMCR_EL2);
write_gicreg(val, ICH_LR0_EL2);
write_gicreg(val, ICH_LR1_EL2);
write_gicreg(val, ICH_LR2_EL2);
write_gicreg(val, ICH_LR3_EL2);
write_gicreg(val, ICH_LR4_EL2);
write_gicreg(hcr, ICH_HCR_EL2);
write_gicreg(val, ICH_LR5_EL2);
write_gicreg(val, ICH_LR6_EL2);
write_gicreg(val, ICH_LR7_EL2);
write_gicreg(val, ICH_LR8_EL2);
write_gicreg(val, ICH_LR9_EL2);
write_gicreg(val, ICH_LR10_EL2);
write_gicreg(DEFAULT_PMR_VALUE, ICC_PMR_EL1);
write_gicreg(0, ICC_AP0R3_EL1);
write_gicreg(0, ICC_AP0R2_EL1);
write_gicreg(0, ICC_AP0R1_EL1);
write_gicreg(0, ICC_AP0R0_EL1);
write_gicreg(0, ICC_AP1R3_EL1);
write_gicreg(0, ICC_AP1R2_EL1);
write_gicreg(0, ICC_AP1R1_EL1);
write_gicreg(0, ICC_AP1R0_EL1);
write_gicreg(irqd_to_hwirq(d), ICC_EOIR1_EL1);
write_gicreg(irqnr, ICC_EOIR1_EL1);
write_gicreg(irqnr, ICC_EOIR1_EL1);