Ignore:
Timestamp:
Jun 27, 2017, 10:53:32 AM (7 years ago)
Author:
ertl-honda
Message:

3.1.0を反映

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_wo_tecs/trunk/arch/arm_gcc/common/gic_kernel_impl.c

    r305 r306  
    11/*
    2  *  TOPPERS/ASP Kernel
    3  *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4  *      Advanced Standard Profile Kernel
     2 *  TOPPERS Software
     3 *      Toyohashi Open Platform for Embedded Real-Time Systems
    54 *
    65 *  Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory
     
    5150 *  の責任を負わない.
    5251 *
    53  *  $Id: gic_kernel_impl.c 522 2016-01-14 06:56:53Z ertl-hiro $
     52 *  $Id: gic_kernel_impl.c 714 2016-03-31 05:52:19Z ertl-hiro $
    5453 */
    5554
     
    138137         *  すべての割込みをグループ1(IRQ)に設定
    139138         */
    140         for (i = 0; i < GIC_TNUM_INTNO / 32; i++) {
     139        for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) {
    141140                sil_wrw_mem(GICD_IGROUPR(i), 0xffffffffU);
    142141        }
     
    146145         *  すべての割込みを禁止
    147146         */
    148         for (i = 0; i < GIC_TNUM_INTNO / 32; i++) {
     147        for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) {
    149148                sil_wrw_mem(GICD_ICENABLER(i), 0xffffffffU);
    150149        }
     
    153152         *  すべての割込みペンディングをクリア
    154153         */
    155         for (i = 0; i < GIC_TNUM_INTNO / 32; i++) {
     154        for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) {
    156155                sil_wrw_mem(GICD_ICPENDR(i), 0xffffffffU);
    157156        }
     
    161160ˆåº¦ã«è¨­å®š
    162161         */
    163         for (i = 0; i < GIC_TNUM_INTNO / 4; i++){
     162        for (i = 0; i < (GIC_TNUM_INTNO + 3) / 4; i++){
    164163                sil_wrw_mem(GICD_IPRIORITYR(i), 0xffffffffU);
    165164        }
     
    169168±æœ‰ãƒšãƒªãƒ•ã‚§ãƒ©ãƒ«å‰²è¾¼ã¿ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’プロセッサ0に設定
    170169         */
    171         for (i = GIC_INTNO_SPI0 / 4; i < GIC_TNUM_INTNO / 4; i++) {
     170        for (i = GIC_INTNO_SPI0 / 4; i < (GIC_TNUM_INTNO + 3) / 4; i++) {
    172171                sil_wrw_mem(GICD_ITARGETSR(i), 0x01010101U);
    173172        }
     
    176175         *  すべてのペリフェラル割込みをレベルトリガに設定
    177176         */
    178         for (i = GIC_INTNO_PPI0 / 16; i < GIC_TNUM_INTNO / 16; i++) {
     177        for (i = GIC_INTNO_PPI0 / 16; i < (GIC_TNUM_INTNO + 15) / 16; i++) {
    179178#ifdef GIC_ARM11MPCORE
    180179                sil_wrw_mem(GICD_ICFGR(i), 0x55555555U);
     
    198197        sil_wrw_mem(GICD_CTLR, GICD_CTLR_DISABLE);
    199198}
     199
     200#ifndef OMIT_GIC_INITIALIZE_INTERRUPT
    200201
    201202/*
     
    273274        }
    274275}
     276
     277#endif /* OMIT_GIC_INITIALIZE_INTERRUPT */
Note: See TracChangeset for help on using the changeset viewer.