Ignore:
Timestamp:
Jul 27, 2017, 12:23:29 AM (5 years ago)
Author:
alain
Message:

1) Introduce independant command fields for the various devices in the thread descriptor.
2) Introduce a new dev_pic_enable_ipi() function in the generic PIC device
3) Fix two bugs identified by Maxime in the scheduler initialisation, and in the sched_select().
4) fix several bugs in the TSAR hal_kentry.S.
5) Introduce a third kgiet segment (besides kdata and kcode) in the TSAR bootloader.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/devices/dev_mmc.c

    r257 r279  
    6565{
    6666    // get extended pointer on MMC device descriptor
    67     xptr_t  dev_xp = this->command.mmc.dev_xp;
     67    xptr_t  dev_xp = this->mmc_cmd.dev_xp;
    6868
    6969    assert( (dev_xp != XPTR_NULL) , __FUNCTION__ , "target MMC device undefined" );
     
    8686
    8787    // return operation status
    88     return this->command.mmc.error; 
     88    return this->mmc_cmd.error; 
    8989
    9090}  // end dev_mmc_access()
     
    116116
    117117    // store command arguments in thread descriptor
    118     this->command.mmc.dev_xp    = chdev_dir.mmc[buf_cxy];
    119     this->command.mmc.type      = MMC_CC_INVAL;
    120     this->command.mmc.buf_paddr = buf_paddr;
    121     this->command.mmc.buf_size  = buf_size;
     118    this->mmc_cmd.dev_xp    = chdev_dir.mmc[buf_cxy];
     119    this->mmc_cmd.type      = MMC_CC_INVAL;
     120    this->mmc_cmd.buf_paddr = buf_paddr;
     121    this->mmc_cmd.buf_size  = buf_size;
    122122
    123123    // call MMC driver
     
    156156
    157157    // store command arguments in thread descriptor
    158     this->command.mmc.dev_xp    = chdev_dir.mmc[buf_cxy];
    159     this->command.mmc.type      = MMC_CC_SYNC;
    160     this->command.mmc.buf_paddr = buf_paddr;
    161     this->command.mmc.buf_size  = buf_size;
     158    this->mmc_cmd.dev_xp    = chdev_dir.mmc[buf_cxy];
     159    this->mmc_cmd.type      = MMC_CC_SYNC;
     160    this->mmc_cmd.buf_paddr = buf_paddr;
     161    this->mmc_cmd.buf_size  = buf_size;
    162162
    163163    // call MMC driver
     
    179179
    180180    // store command arguments in thread descriptor
    181     this->command.mmc.dev_xp    = chdev_dir.mmc[cxy];
    182     this->command.mmc.type      = MMC_SET_ERROR;
    183     this->command.mmc.reg_index = index;
    184     this->command.mmc.reg_ptr   = &wdata;
     181    this->mmc_cmd.dev_xp    = chdev_dir.mmc[cxy];
     182    this->mmc_cmd.type      = MMC_SET_ERROR;
     183    this->mmc_cmd.reg_index = index;
     184    this->mmc_cmd.reg_ptr   = &wdata;
    185185
    186186    // execute operation
     
    197197
    198198    // store command arguments in thread descriptor
    199     this->command.mmc.dev_xp    = chdev_dir.mmc[cxy];
    200     this->command.mmc.type      = MMC_GET_ERROR;
    201     this->command.mmc.reg_index = index;
    202     this->command.mmc.reg_ptr   = rdata;
     199    this->mmc_cmd.dev_xp    = chdev_dir.mmc[cxy];
     200    this->mmc_cmd.type      = MMC_GET_ERROR;
     201    this->mmc_cmd.reg_index = index;
     202    this->mmc_cmd.reg_ptr   = rdata;
    203203
    204204    // execute operation
     
    215215
    216216    // store command arguments in thread descriptor
    217     this->command.mmc.dev_xp    = chdev_dir.mmc[cxy];
    218     this->command.mmc.type      = MMC_GET_INSTRU;
    219     this->command.mmc.reg_index = index;
    220     this->command.mmc.reg_ptr   = rdata;
     217    this->mmc_cmd.dev_xp    = chdev_dir.mmc[cxy];
     218    this->mmc_cmd.type      = MMC_GET_INSTRU;
     219    this->mmc_cmd.reg_index = index;
     220    this->mmc_cmd.reg_ptr   = rdata;
    221221
    222222    // execute operation
Note: See TracChangeset for help on using the changeset viewer.