Ignore:
Timestamp:
Jul 27, 2017, 12:23:29 AM (7 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_txt.c

    r255 r279  
    112112
    113113    // register command in calling thread descriptor
    114     this->command.txt.dev_xp  = dev_xp;
    115     this->command.txt.type    = type;
    116     this->command.txt.buf_xp  = XPTR( local_cxy , buffer );
    117     this->command.txt.count   = count;
     114    this->txt_cmd.dev_xp  = dev_xp;
     115    this->txt_cmd.type    = type;
     116    this->txt_cmd.buf_xp  = XPTR( local_cxy , buffer );
     117    this->txt_cmd.count   = count;
    118118
    119119    // register client thread in waiting queue, activate server thread
     
    123123
    124124    txt_dmsg("\n[INFO] in %s : thread %x in process %x completes / error = %d\n",
    125              __FUNCTION__ , this->trdid , this->process->pid , this->command.txt.error );
     125             __FUNCTION__ , this->trdid , this->process->pid , this->txt_cmd.error );
    126126
    127127    // return I/O operation status from calling thread descriptor
    128     return this->command.txt.error;
     128    return this->txt_cmd.error;
    129129}
    130130
     
    157157    assert( (dev_xp != XPTR_NULL) , __FUNCTION__ , "undefined TXT0 chdev descriptor" );
    158158
    159     // register command in calling thread
    160     this->command.txt.dev_xp  = dev_xp;
    161     this->command.txt.type    = TXT_SYNC_WRITE;
    162     this->command.txt.buf_xp  = XPTR( local_cxy , buffer );
    163     this->command.txt.count   = count;
     159    // register command in calling thread descriptor
     160    this->txt_cmd.dev_xp  = dev_xp;
     161    this->txt_cmd.type    = TXT_SYNC_WRITE;
     162    this->txt_cmd.buf_xp  = XPTR( local_cxy , buffer );
     163    this->txt_cmd.count   = count;
    164164
    165165    // get driver command function
     
    168168    dev_cmd_t * cmd = (dev_cmd_t *)hal_remote_lpt( XPTR( dev_cxy , &dev_ptr->cmd ) );
    169169
    170     // call directly driver command
     170    // call driver function
    171171    cmd( XPTR( local_cxy , this ) );
    172172
    173173    // return I/O operation status from calling thread descriptor
    174     return this->command.txt.error;
     174    return this->txt_cmd.error;
    175175}
    176176
Note: See TracChangeset for help on using the changeset viewer.