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/kernel/mempfix.trb

    r305 r306  
    5353#   ã®è²¬ä»»ã‚’負わない.
    5454#
    55 #   $Id: mempfix.trb 588 2016-02-05 12:54:58Z ertl-hiro $
     55#   $Id: mempfix.trb 672 2016-03-05 15:33:08Z ertl-hiro $
    5656#
    5757
     
    6666
    6767  def prepare(key, params)
     68    # パラメータが省略された時のデフォルト値の設定
     69    params[:mpf] ||= "NULL"
     70    params[:mpfmb] ||= "NULL"
     71
    6872    # mpfatrが無効の場合(E_RSATR)[NGKI2225ï¼½
    6973    #(TA_TPRI以外のビットがセットされている場合)
     
    7276    end
    7377
    74     # blkcntが0以下の場合(E_PAR)[NGKI2229ï¼½
    75     if params[:blkcnt] <= 0
     78    # blkcntが0の場合(E_PAR)[NGKI2229ï¼½
     79    if params[:blkcnt] == 0
    7680      error_illegal_id("E_PAR", params, :blkcnt, :mpfid)
    7781    end
    7882
    79     # blkszが0以下の場合(E_PAR)[NGKI2230ï¼½
    80     if params[:blksz] <= 0
     83    # blkszが0の場合(E_PAR)[NGKI2230ï¼½
     84    if params[:blksz] == 0
    8185      error_illegal_id("E_PAR", params, :blksz, :mpfid)
    8286    end
     
    8488    # 固定長メモリプール領域
    8589    if params[:mpf] == "NULL"
    86       $kernelCfgC.add("static MPF_T _kernel_mpf_#{params[:mpfid]}" \
     90      mpfName = "_kernel_mpf_#{params[:mpfid]}"
     91      $kernelCfgC.add("static MPF_T #{mpfName}" \
    8792                                "[#{params[:blkcnt]} * COUNT_MPF_T(#{params[:blksz]})];")
     93      params[:mpfinib_mpf] = mpfName
     94    else
     95      params[:mpfinib_mpf] = "(void *)(#{params[:mpf]})"
    8896    end
    8997
    9098    # mpfmbがNULLでない場合(E_NOSPT)[ASPS0166ï¼½
    9199    if params[:mpfmb] != "NULL"
    92       error_illegal_id("E_PAR", params, :mpfmb, :mpfid)
     100      error_illegal_id("E_NOSPT", params, :mpfmb, :mpfid)
    93101    end
    94102
    95103    # 固定長メモリプール管理領域
    96     $kernelCfgC.add("static MPFMB _kernel_mpfmb_#{params[:mpfid]}" \
    97                                                                                                 "[#{params[:blkcnt]}];")
     104    mpfmbName = "_kernel_mpfmb_#{params[:mpfid]}"
     105    $kernelCfgC.add("static MPFMB #{mpfmbName}[#{params[:blkcnt]}];")
     106    params[:mpfinib_mpfmb] = mpfmbName
    98107  end
    99108
    100109  def generateInib(key, params)
    101     if params[:mpf] == "NULL"
    102       mpf = "_kernel_mpf_#{params[:mpfid]}"
    103     else
    104       mpf = "(void *)(#{params[:mpf]})"
    105     end
    106110    return("(#{params[:mpfatr]}), (#{params[:blkcnt]}), " \
    107                                         "ROUND_MPF_T(#{params[:blksz]}), #{mpf}, " \
    108                                         "_kernel_mpfmb_#{params[:mpfid]}")
     111                        "ROUND_MPF_T(#{params[:blksz]}), #{params[:mpfinib_mpf]}, " \
     112                        "#{params[:mpfinib_mpfmb]}")
    109113  end
    110114end
Note: See TracChangeset for help on using the changeset viewer.