Changeset 295 for soft/giet_vm/display


Ignore:
Timestamp:
Mar 26, 2014, 6:44:44 PM (11 years ago)
Author:
alain
Message:

Introducing a major release, to suppoort the tsar_generic_leti platform
and the various (external or internal) peripherals configurations.
The map.xml format has been modified, in order to support the new
vci_iopic componentand a new policy for peripherals initialisation.
The IRQs are nom described in the XICU and IOPIC components
(and not anymore in the processors).
To enforce this major change, the map.xml file signature changed:
The signature value must be: 0xDACE2014

This new release has been tested on the tsar_generic_leti platform
for the following mappings:

  • 4c_4p_sort_leti
  • 4c_4p_sort_leti_ext
  • 4c_4p_transpose_leti
  • 4c_4p_transpose_leti_ext
  • 4c_1p_four_leti_ext
Location:
soft/giet_vm/display
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/display/main.c

    r258 r295  
    1 #include <stdio.h>
     1#include "stdio.h"
     2#include "hard_config.h"
    23
    34#define NBLOCKS 32   // (128 * 128) / 512
     
    78__attribute__((constructor)) void main()
    89
    9     int           fd;
    10     int           blocks;
    11     unsigned int  ko;
    12     unsigned int  blocks_to_skip = 8*NBLOCKS;
     10    int             fd;
     11    int             blocks;
     12    unsigned int    ko;
     13    unsigned int    blocks_to_skip = 8*NBLOCKS;
    1314
    14     giet_tty_printf("\nStarting task DISPLAY on processor %d at cycle %d\n",
    15                     giet_procid(), giet_proctime() );
     15    unsigned int    procid     = giet_procid();
     16    unsigned int    cluster_xy = procid/NB_PROCS_MAX;
     17    unsigned int    lpid       = procid%NB_PROCS_MAX;
     18    unsigned int    x          = cluster_xy >> Y_WIDTH;
     19    unsigned int    y          = cluster_xy & ((1<<Y_WIDTH)-1);
     20
     21    giet_tty_printf( "*** Starting task display on processor[%d,%d,%d] at cycle %d\n\n",
     22                      x, y, lpid, giet_proctime() );
    1623
    1724    ///////////////////////////////////////////
  • soft/giet_vm/display/main_cma.c

    r258 r295  
    1 #include <stdio.h>
     1#include "stdio.h"
     2#include "hard_config.h"
    23
    34#define NBLOCKS 32
     
    89__attribute__((constructor)) void main(void)
    910{
    10     unsigned int ko;
    11     int          blocks;
    12     int          fd;
    13     unsigned int blocks_to_skip = 0;
     11    int             fd;
     12    unsigned int    blocks_to_skip = 0;
     13    unsigned int    procid         = giet_procid();
     14    unsigned int    cluster_xy     = procid/NB_PROCS_MAX;
     15    unsigned int    lpid           = procid%NB_PROCS_MAX;
     16    unsigned int    x              = cluster_xy >> Y_WIDTH;
     17    unsigned int    y              = cluster_xy & ((1<<Y_WIDTH)-1);
    1418
    15     giet_tty_printf("\nStarting task DISPLAY on processor %d at cycle %d\n",
    16                     giet_procid(), giet_proctime() );
     19    giet_tty_printf( "*** Starting task display on processor[%d,%d,%d] at cycle %d\n\n",
     20                      x, y, lpid, giet_proctime() );
    1721
    1822    //////////////////////////////////////////
     
    3034    }
    3135
    32     ////////////////////////////////////////////
    33     ko = giet_fb_cma_init( buf0, buf1, 128*128 );
    34     if ( ko )
    35     {
    36         giet_tty_printf("\n*** echec giet_cma_init at cycle %d\n",
     36    ////////////////////////////////////////
     37    giet_fb_cma_init( buf0, buf1, 128*128 );
     38
     39    giet_tty_printf("\ngiet_cma_init completed at cycle %d\n",
    3740                        giet_proctime() );
    38         giet_exit();
    39     }
    40     else
    41     {
    42         giet_tty_printf("\ngiet_cma_init completed at cycle %d\n",
    43                         giet_proctime() );
    44     }
    45 
    4641 
    4742    while ( blocks_to_skip < 10 * NBLOCKS )
    4843    {
    49         ////////////////////////////////////////////////////////////
    50         blocks = giet_fat_read( fd, buf0, NBLOCKS, blocks_to_skip );
    51         if ( blocks != NBLOCKS )
    52         {
    53             giet_tty_printf("\nechec giet_fat_read to buf0 at cycle %d\n",
     44        ///////////////////////////////////////////////////
     45        giet_fat_read( fd, buf0, NBLOCKS, blocks_to_skip );
     46
     47        giet_tty_printf("\ngiet_fat_read to buf0 completed at cycle = %d\n",
    5448                            giet_proctime() );
    55             giet_exit();
    56         }
    57         else
    58         {
    59             giet_tty_printf("\ngiet_fat_read to buf0 completed at cycle = %d\n",
     49
     50        ///////////////////////
     51        giet_fb_cma_write( 0 );
     52
     53        giet_tty_printf("giet_cma_write for buf0 completed at cycle = %d\n",
    6054                            giet_proctime() );
    61         }
    62 
    63         ///////////////////////////
    64         ko = giet_fb_cma_write( 0 );
    65         if ( ko )
    66         {
    67             giet_tty_printf("echec giet_cma_write for buf0 at cycle %d\n",
    68                             giet_proctime() );
    69             giet_exit();
    70         }
    71         else
    72         {
    73             giet_tty_printf("giet_cma_write for buf0 completed at cycle = %d\n",
    74                             giet_proctime() );
    75         }
    7655
    7756        blocks_to_skip = blocks_to_skip + NBLOCKS;
    7857
    79         ///////////////////////////////////////////////////////
    80         blocks = giet_fat_read( fd, buf1, NBLOCKS, blocks_to_skip );
    81         if ( blocks != NBLOCKS )
    82         {
    83             giet_tty_printf("echec giet_fat_read to buf1 at cycle %d\n",
     58        ///////////////////////////////////////////////////
     59        giet_fat_read( fd, buf1, NBLOCKS, blocks_to_skip );
     60
     61        giet_tty_printf("giet_fat_read to buf1 completed at cycle = %d\n",
    8462                            giet_proctime() );
    85             giet_exit();
    86         }
    87         else
    88         {
    89             giet_tty_printf("giet_fat_read to buf1 completed at cycle = %d\n",
     63
     64        ///////////////////////
     65        giet_fb_cma_write( 1 );
     66       
     67        giet_tty_printf("giet_cma_write for buf1 completed at cycle = %d\n",
    9068                            giet_proctime() );
    91         }
    9269
    93         ////////////////////////////
    94         ko = giet_fb_cma_write( 1 );
    95         if ( ko )
    96         {
    97             giet_tty_printf("echec giet_cma_write for buf1 at cycle %d\n",
    98                             giet_proctime() );
    99             giet_exit();
    100         }
    101         else
    102         {
    103             giet_tty_printf("giet_cma_write for buf1 completed at cycle = %d\n",
    104                             giet_proctime() );
    105         }
    10670        blocks_to_skip = blocks_to_skip + NBLOCKS;
    10771    }
Note: See TracChangeset for help on using the changeset viewer.