Changeset 530


Ignore:
Timestamp:
Sep 21, 2018, 10:19:38 PM (6 years ago)
Author:
nicolas.van.phan@…
Message:

Hack to compile on both IOB and LETI for now

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/boot/tsar_mips32/boot.c

    r527 r530  
    400400    boot_info->x_width      = header->x_width;
    401401    boot_info->y_width      = header->y_width;
     402    boot_info->x_max        = header->x_size; // [FIXME]
     403    boot_info->y_max        = header->name[5] == 'l' ? header->y_size - 1 : header->y_size; // [FIXME]
    402404    boot_info->paddr_width  = header->paddr_width;
    403405    boot_info->io_cxy       = header->io_cxy;
  • trunk/kernel/fs/vfs.c

    r528 r530  
    11271127cxy_t vfs_cluster_random_select( void )
    11281128{
    1129     uint32_t  x_size    = LOCAL_CLUSTER->x_size;
    1130     uint32_t  y_size    = LOCAL_CLUSTER->y_size;
     1129    uint32_t  x_max     = LOCAL_CLUSTER->x_max; // [FIXME]
     1130    uint32_t  y_max     = LOCAL_CLUSTER->y_max; // [FIXME]
    11311131    uint32_t  y_width   = LOCAL_CLUSTER->y_width;
    1132     uint32_t  index     = ( hal_get_cycles() + hal_get_gid() ) % (x_size * (y_size - 1)); // [FIXME]
    1133     uint32_t  x         = index / (y_size - 1); // [FIXME]
    1134     uint32_t  y         = index % (y_size - 1); // [FIXME]
     1132    uint32_t  index     = ( hal_get_cycles() + hal_get_gid() ) % (x_max * y_max); // [FIXME]
     1133    uint32_t  x         = index / y_max; // [FIXME]
     1134    uint32_t  y         = index % y_max; // [FIXME]
    11351135
    11361136    return (x<<y_width) + y;
  • trunk/kernel/kern/cluster.c

    r529 r530  
    7171        cluster->x_size          = info->x_size;
    7272        cluster->y_size          = info->y_size;
     73    cluster->x_max           = info->x_max; // [FIXME]
     74        cluster->y_max           = info->y_max; // [FIXME]
    7375        cluster->io_cxy          = info->io_cxy;
    7476
     
    98100
    99101    // initialises DQDT
    100     cluster->dqdt_root_level = dqdt_init( info->x_size,
    101                                           info->y_size - 1, // [FIXME]
     102    cluster->dqdt_root_level = dqdt_init( info->x_max, // [FIXME]
     103                                          info->y_max, // [FIXME]
    102104                                          info->y_width ) - 1;
    103105
  • trunk/kernel/kern/cluster.h

    r485 r530  
    105105        uint32_t        x_size;            /*! number of clusters in a row    (can be 1)      */
    106106        uint32_t        y_size;            /*! number of clusters in a column (can be 1)      */
     107    uint32_t        x_max;             // [FIXME]
     108    uint32_t        y_max;             // [FIXME]
    107109        cxy_t           io_cxy;            /*! io cluster identifier                          */
    108110    uint32_t        dqdt_root_level;   /*! index of root node in dqdt_tbl[]               */
  • trunk/kernel/kern/kernel_init.c

    r528 r530  
    250250            for( x = 0 ; x < info->x_size ; x++ )
    251251            {
    252                 for( y = 0 ; y < info->y_size - 1; y++ ) // [FIXME]
     252                for( y = 0 ; y < info->y_max; y++ ) // [FIXME]
    253253                {
    254254                    cxy_t  cxy = (x<<info->y_width) + y;
     
    316316            for( x = 0 ; x < info->x_size ; x++ )
    317317            {
    318                 for( y = 0 ; y < info->y_size - 1; y++ ) // [FIXME]
     318                for( y = 0 ; y < info->y_max; y++ ) // [FIXME]
    319319                {
    320320                    cxy_t  cxy = (x<<info->y_width) + y;
     
    439439
    440440                // compute target cluster for chdev[func,channel,direction]
    441                 uint32_t offset     = ext_chdev_gid % ( info->x_size * (info->y_size - 1) ); // [FIXME]
    442                 uint32_t cx         = offset / (info->y_size - 1); // [FIXME]
    443                 uint32_t cy         = offset % (info->y_size - 1); // [FIXME]
     441                uint32_t offset     = ext_chdev_gid % ( info->x_size * (info->y_max) ); // [FIXME]
     442                uint32_t cx         = offset / (info->y_max); // [FIXME]
     443                uint32_t cy         = offset % (info->y_max); // [FIXME]
    444444                uint32_t target_cxy = (cx<<info->y_width) + cy;
    445445
     
    479479                    for( x = 0 ; x < info->x_size ; x++ )
    480480                    {
    481                         for( y = 0 ; y < info->y_size - 1; y++ ) // [FIXME]
     481                        for( y = 0 ; y < info->y_max; y++ ) // [FIXME]
    482482                        {
    483483                            cxy_t  cxy = (x<<info->y_width) + y;
     
    562562    for( x = 0 ; x < info->x_size ; x++ )
    563563    {
    564         for( y = 0 ; y < info->y_size - 1; y++ ) // [FIXME]
     564        for( y = 0 ; y < info->y_max; y++ ) // [FIXME]
    565565        {
    566566            cxy_t  cxy = (x<<info->y_width) + y;
     
    576576    for( x = 0 ; x < info->x_size ; x++ )
    577577    {
    578         for( y = 0 ; y < info->y_size - 1; y++ ) // [FIXME]
     578        for( y = 0 ; y < info->y_max; y++ ) // [FIXME]
    579579        {
    580580            cxy_t  cxy = (x<<info->y_width) + y;
     
    613613            for( x = 0 ; x < info->x_size ; x++ )
    614614            {
    615                 for( y = 0 ; y < info->y_size - 1; y++ ) // [FIXME]
     615                for( y = 0 ; y < info->y_max; y++ ) // [FIXME]
    616616                {
    617617                    cxy_t  cxy = (x<<info->y_width) + y;
     
    800800    /////////////////////////////////////////////////////////////////////////////////
    801801    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    802                                         (info->x_size * (info->y_size - 1)) );
     802                                        (info->x_size * (info->y_max)) );
    803803    barrier_wait( &local_barrier , info->cores_nr );
    804804    /////////////////////////////////////////////////////////////////////////////////
     
    838838    /////////////////////////////////////////////////////////////////////////////////
    839839    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    840                                         (info->x_size * (info->y_size - 1)) );
     840                                        (info->x_size * (info->y_max)) );
    841841    barrier_wait( &local_barrier , info->cores_nr );
    842842    /////////////////////////////////////////////////////////////////////////////////
     
    865865    ////////////////////////////////////////////////////////////////////////////////
    866866    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    867                                         (info->x_size * (info->y_size - 1)) );
     867                                        (info->x_size * (info->y_max)) );
    868868    barrier_wait( &local_barrier , info->cores_nr );
    869869    ////////////////////////////////////////////////////////////////////////////////
     
    898898    /////////////////////////////////////////////////////////////////////////////////
    899899    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    900                                         (info->x_size * (info->y_size - 1)) );
     900                                        (info->x_size * (info->y_max)) );
    901901    barrier_wait( &local_barrier , info->cores_nr );
    902902    /////////////////////////////////////////////////////////////////////////////////
     
    10031003    /////////////////////////////////////////////////////////////////////////////////
    10041004    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    1005                                         (info->x_size * (info->y_size - 1)) );
     1005                                        (info->x_size * (info->y_max)) );
    10061006    barrier_wait( &local_barrier , info->cores_nr );
    10071007    /////////////////////////////////////////////////////////////////////////////////
     
    10641064    /////////////////////////////////////////////////////////////////////////////////
    10651065    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    1066                                         (info->x_size * (info->y_size - 1)) );
     1066                                        (info->x_size * (info->y_max)) );
    10671067    barrier_wait( &local_barrier , info->cores_nr );
    10681068    /////////////////////////////////////////////////////////////////////////////////
     
    10991099    /////////////////////////////////////////////////////////////////////////////////
    11001100    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    1101                                         (info->x_size * (info->y_size - 1)) );
     1101                                        (info->x_size * (info->y_max)) );
    11021102    barrier_wait( &local_barrier , info->cores_nr );
    11031103    /////////////////////////////////////////////////////////////////////////////////
     
    11361136    /////////////////////////////////////////////////////////////////////////////////
    11371137    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    1138                                         (info->x_size * (info->y_size - 1)) );
     1138                                        (info->x_size * (info->y_max)) );
    11391139    barrier_wait( &local_barrier , info->cores_nr );
    11401140    /////////////////////////////////////////////////////////////////////////////////
     
    11621162    /////////////////////////////////////////////////////////////////////////////////
    11631163    if( core_lid == 0 ) remote_barrier( XPTR( 0 , &global_barrier ), // [FIXME]
    1164                                         (info->x_size * (info->y_size - 1)) );
     1164                                        (info->x_size * (info->y_max)) );
    11651165    barrier_wait( &local_barrier , info->cores_nr );
    11661166    /////////////////////////////////////////////////////////////////////////////////
  • trunk/kernel/mm/vmm.c

    r528 r530  
    13841384    if( flags & VSEG_DISTRIB )    // distributed => cxy depends on vpn LSB
    13851385    {
    1386         uint32_t x_size  = LOCAL_CLUSTER->x_size;
    1387         uint32_t y_size  = LOCAL_CLUSTER->y_size;
     1386        uint32_t x_max   = LOCAL_CLUSTER->x_max; // [FIXME]
     1387        uint32_t y_max   = LOCAL_CLUSTER->y_max; // [FIXME]
    13881388        uint32_t y_width = LOCAL_CLUSTER->y_width;
    1389         uint32_t index   = vpn & ((x_size * (y_size - 1)) - 1); // [FIXME]
    1390         uint32_t x       = index / (y_size - 1); // [FIXME]
    1391         uint32_t y       = index % (y_size - 1); // [FIXME]
     1389        uint32_t index   = vpn & ((x_max * y_max) - 1); // [FIXME]
     1390        uint32_t x       = index / y_max; // [FIXME]
     1391        uint32_t y       = index % y_max; // [FIXME]
    13921392        page_cxy         = (x<<y_width) + y;
    13931393    }
  • trunk/tools/arch_info/boot_info.h

    r457 r530  
    112112        uint32_t      x_size;                        /*! number of cluster in a row             */
    113113        uint32_t      y_size;                        /*! number of cluster in a column          */
     114    uint32_t      x_max;                         /*! [FIXME] Nb of non-empty cluster in row */
     115    uint32_t      y_max;                         /*! [FIXME] Nb of non_empty cluster in col */
    114116        uint32_t      io_cxy;                        /*! IO cluster identifier                  */
    115117
Note: See TracChangeset for help on using the changeset viewer.