/* * CPU Interface の初期化 */ void gicc_init(void) { /* CPUインタフェースを無効に */ *(volatile uint32_t *)ASP_GICC_ICCICR = 0; /* 最低優先度に設定 */ gicc_set_priority(GIC_MIN_PRIORITY); /* 割込み優先度の全ビット有効に */ gicc_set_bp(0); /* ペンディングしている可能性があるので,EOI によりクリア */ *(volatile uint32_t *)ASP_GICC_ICCEOIR = *(volatile uint32_t *)ASP_GICC_ICCIAR; /* CPUインタフェースを有効に */ *(volatile uint32_t *)ASP_GICC_ICCICR = (GICC_CTLR_ENABLEGRP1|GICC_CTLR_ENABLEGRP0); }
/* * CPU Interface の初期化 */ void gicc_init(void) { /* CPUインタフェースを無効に */ sil_wrw_mem((void *)GICC_CTLR, 0); /* 最低優先度に設定 */ gicc_set_priority(GIC_MIN_PRIORITY); /* 割込み優先度の全ビット有効に */ gicc_set_bp(0); /* ペンディングしている可能性があるので,EOI によりクリア */ sil_wrw_mem((void *)GICC_EOIR, sil_rew_mem((void *)GICC_IAR)); /* CPUインタフェースを有効に */ #ifdef GIC_USE_FIQ sil_wrw_mem((void *)GICC_CTLR, (GICC_CTLR_FIQEn|GICC_CTLR_ENABLEGRP1|GICC_CTLR_ENABLEGRP0)); #else /* GIC_USE_FIQ */ sil_wrw_mem((void *)GICC_CTLR, GICC_CTLR_EN); #endif /* GIC_USE_FIQ */ }