Ignore:
Timestamp:
Apr 29, 2019, 7:25:09 PM (5 years ago)
Author:
alain
Message:

This version has been tested on the sort multithreaded application
for TSAR_IOB architectures ranging from 1 to 8 clusters.
It fixes three bigs bugs:
1) the dev_ioc device API has been modified: the dev_ioc_sync_read()
and dev_ioc_sync_write() function use now extended pointers on the
kernel buffer to access a mapper stored in any cluster.
2) the hal_uspace API has been modified: the hal_copy_to_uspace()
and hal_copy_from_uspace() functions use now a (cxy,ptr) couple
to identify the target buffer (equivalent to an extended pointer.
3) an implementation bug has been fixed in the assembly code contained
in the hal_copy_to_uspace() and hal_copy_from_uspace() functions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/syscalls/sys_thread_create.c

    r624 r626  
    106106            }
    107107       
    108             hal_copy_from_uspace( &kern_attr , user_attr , sizeof(pthread_attr_t) );
     108            hal_copy_from_uspace( local_cxy,
     109                              &kern_attr,
     110                              user_attr,
     111                              sizeof(pthread_attr_t) );
    109112    }
    110113
     
    212215        // returns trdid to user space
    213216        trdid = hal_remote_l32( XPTR( child_cxy , &child_ptr->trdid ) );
    214         hal_copy_to_uspace( trdid_ptr , &trdid , sizeof(pthread_t) );
     217        hal_copy_to_uspace( local_cxy,
     218                        &trdid,
     219                        trdid_ptr,
     220                        sizeof(pthread_t) );
    215221
    216222    // activate new thread
Note: See TracChangeset for help on using the changeset viewer.