Changeset 299 for soft


Ignore:
Timestamp:
Apr 3, 2014, 2:02:50 PM (10 years ago)
Author:
alain
Message:

ntroducing the TOTAL_PROCS variable in the hard_config.h file
(used by the synchronisation barrier in kernel_init.c)

Location:
soft/giet_vm
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/Makefile

    r297 r299  
    1111### partition sectors    = 524832
    1212
    13 MAP_XML      = mappings/4c_1p_four_leti_ext.xml
     13MAP_XML      = mappings/4c_1p_sort_iob.xml
    1414
    1515### Objects to be linked for kernel.elf
     
    5252               build/drivers/xcu_driver.o \
    5353               build/drivers/ioc_driver.o \
     54               build/drivers/iob_driver.o \
    5455               build/drivers/bdv_driver.o \
    5556               build/drivers/sdc_driver.o \
  • soft/giet_vm/giet_boot/boot.c

    r295 r299  
    7979#include <nic_driver.h>
    8080#include <ioc_driver.h>
     81#include <iob_driver.h>
    8182#include <pic_driver.h>
    8283#include <mwr_driver.h>
     
    19631964                {
    19641965                    // initialize all channels except channel 0 because it has been
    1965                     // initialize during mapping_info loading
     1966                    // initialized by the preloader.
    19661967                    for (channel_id = 1; channel_id < channels; channel_id++)
    19671968                    {
     
    19751976                    break;
    19761977                }
    1977                 case PERIPH_TYPE_DMA:    // vci_multi_dma component
    1978                 {
    1979                     for (channel_id = 0; channel_id < channels; channel_id++)
    1980                     {
    1981                         _dma_init( cluster_xy, channel_id );
    1982                     }
    1983 #if BOOT_DEBUG_PERI
    1984 _puts("- DMA / channels = ");
    1985 _putd(channels);
    1986 _puts("\n");
    1987 #endif
    1988                     break;
    1989                 }
    1990                 case PERIPH_TYPE_FBF:    // vci_block_device component
    1991                 {
    1992                     // nothing to do
    1993 #if BOOT_DEBUG_PERI
    1994 _puts("- FBF / channels = ");
    1995 _putd(channels);
    1996 _puts("\n");
    1997 #endif
    1998                     break;
    1999                 }
    20001978                case PERIPH_TYPE_CMA:    // vci_chbuf_dma component
    20011979                {
     
    20242002                    break;
    20252003                }
    2026                 case PERIPH_TYPE_XCU:    // vci_xicu component
    2027                 {
    2028                     // nothing to do
    2029 #if BOOT_DEBUG_PERI
    2030 _puts("- XCU / channels = ");
    2031 _putd(channels);
    2032 _puts("\n");
    2033 #endif
    2034                     break;
    2035                 }
    2036                 case PERIPH_TYPE_MMC:    // vci_memcache config
    2037                 {
    2038                     // nothing to do
    2039 #if BOOT_DEBUG_PERI
    2040 _puts("- MMC / channels = ");
    2041 _putd(channels);
    2042 _puts("\n");
    2043 #endif
    2044                     break;
    2045                 }
    20462004                case PERIPH_TYPE_TTY:    // vci_multi_tty component
    20472005                {
     
    20562014                case PERIPH_TYPE_IOB:    // vci_io_bridge component
    20572015                {
    2058                     if (USE_IOB)
     2016                    // initialize r_xicu_base & r_xicu_size registers
     2017                    unsigned int base = (unsigned int)&seg_xcu_base;
     2018
     2019#if BOOT_DEBUG_PERI
     2020_puts("- IOB / channels = ");
     2021_putd(channels);
     2022_puts(" / XICU_BASE = ");
     2023_putx( base );
     2024_puts(" / XICU_SIZE = ");
     2025_putx( 0x1000 );
     2026_puts("\n");
     2027#endif
     2028                    _iob_set_xicu_base( cluster_xy, base );
     2029                    _iob_set_xicu_size( cluster_xy, 0x1000 );
     2030
     2031                    if (GIET_USE_IOMMU)
    20592032                    {
    20602033                        // TODO
     
    20662039                        // pseg_base[IOB_IOMMU_ACTIVE] = 1;       
    20672040                    }
    2068 #if BOOT_DEBUG_PERI
    2069 _puts("- IOB / channels = ");
    2070 _putd(channels);
    2071 _puts("\n");
    2072 #endif
    20732041                    break;
    20742042                }
     
    22222190        _set_sched( (unsigned int)_schedulers[0] );
    22232191
    2224         // Initializing peripherals
     2192        // Initializing non replicated peripherals
    22252193        boot_peripherals_init();
    22262194
  • soft/giet_vm/giet_config.h

    r295 r299  
    4040#define GIET_OPEN_FILES_MAX      16         /* max simultaneously open files */
    4141#define GIET_NB_VSPACE_MAX           64                 /* max number of virtual spaces */
    42 #define GIET_TICK_VALUE          0x8000    /* context switch period (number of cycles) */
     42#define GIET_TICK_VALUE          0xFFFFFFFF /* context switch period (number of cycles) */
    4343#define GIET_USE_IOMMU           0          /* IOMMU activated when non zero */
    4444#define GIET_NO_HARD_CC          0          /* No hard cache coherence when non zero */
  • soft/giet_vm/giet_kernel/kernel_init.c

    r294 r299  
    157157
    158158#if GIET_DEBUG_INIT
    159 _printf("\n[GIET DEBUG INIT] Processor[%d,%d,%d] contibutes to PTABS arrays\n"
     159_printf("\n[GIET DEBUG INIT] Processor[%d,%d,%d] contributes to PTABS arrays\n"
    160160        " - ptabs_vaddr[%d] = %x / ptpr_paddr[%d] = %l\n",
    161161        x, y, lpid, 
     
    176176
    177177#if GIET_DEBUG_INIT
    178 _printf("\n[GIET DEBUG INIT] Processor[%d,%d,%d] set scheduler for task %d\n"
     178_printf("\n[GIET DEBUG INIT] Processor[%d,%d,%d] update context for task %d\n"
    179179        " - ctx_epc   = %x\n"
    180180        " - ctx_ra    = %x\n",
     
    307307
    308308    unsigned int*  pcount = &_init_barrier;
    309     unsigned int   nprocs = X_SIZE*(Y_SIZE-1)*NB_PROCS_MAX;
     309    unsigned int   nprocs = TOTAL_PROCS;
    310310    unsigned int   count;
    311311
  • soft/giet_vm/giet_xml/xml_parser.c

    r296 r299  
    108108////////////////////////////////////////////////////////////////////////
    109109
     110unsigned int total_procs      = 0; // total number of processors
    110111unsigned int nb_procs_max     = 0; // max number of processors per cluster
    111112unsigned int nb_tasks_max     = 0; // max number of tasks (in all vspaces)
     
    19321933    proc_loc_index++;
    19331934    proc_index++;
     1935    total_procs++;
    19341936} // end procNode()
    19351937
     
    26842686    file_write(fdout, "\n");
    26852687
     2688    def_int_write(fdout, "TOTAL_PROCS       ", total_procs);
    26862689    def_int_write(fdout, "NB_PROCS_MAX      ", nb_procs_max);
    26872690    def_int_write(fdout, "NB_TASKS_MAX      ", nb_tasks_max);
Note: See TracChangeset for help on using the changeset viewer.