Ignore:
Timestamp:
Jul 24, 2014, 3:19:18 PM (10 years ago)
Author:
cfuguet
Message:

tsar_boot: improving configuration infrastructure

  • Using hard_config.h which respects the same sintax that the hard_config.h file of all TSAR platforms. This file can be then generated by the GIET-VM genmap tool or written manually.
  • All peripheral drivers have been moved to a drivers directory and they are compiled as a static library. This allows GCC to only include in the final .ELF the object files of used peripherals and not all of them.
  • Example hard_config.h and ldscripts have been introduced in the conf directory.
  • Improving comments in all files
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/softs/tsar_boot/src/reset.S

    r755 r758  
    2424 * - Each processor initialises its private XICU WTI mask register.
    2525 * - Only processor 0 executes the reset_load_elf function to load into memory
    26  *   the system specific boot-loader stored on disk at BOOT_LOADER_LBA
     26 *   the system specific boot-loader stored on disk at RESET_LOADER_LBA
    2727 * - All other processors wait in a low power consumption mode that the
    2828 *   processor 0 wakes them using an IPI (Inter Processor Interruption)
     
    8686    move    t3,     t0
    8787
    88     la      k0,     NB_PROCS         /* k0 <= # of processors per cluster   */
     88    la      k0,     NB_PROCS_MAX     /* k0 <= # of processors per cluster   */
    8989    divu    t3,     k0
    9090    mfhi    t1                       /* t1 <= lpid       = pid % NB_PROCS   */
     
    101101     */
    102102
    103     la      t3,     ICU_PADDR_BASE   /* t3 <= ICU base address              */
    104     move    t4,     t1               /* t4 <= local_id                      */
    105     li      t5,     IRQ_PER_PROC     /* t5 <= IRQ_PER_PROC                  */
     103    la      t3,     SEG_XCU_BASE      /* t3 <= ICU base address             */
     104    move    t4,     t1                /* t4 <= local_id                     */
     105    li      t5,     IRQ_PER_PROCESSOR /* t5 <= IRQ_PER_PROCESSOR            */
    106106    multu   t4,     t5
    107107    mflo    t6                       /* t6 <= IRQ_PER_PROC * local_id       */
     
    142142
    143143    la      a0,     versionstr
    144     la      k0,     reset_puts
    145     jalr    k0
    146     nop
    147 
    148 
    149 #if USE_SPI
    150 
    151     /* Processor 0 Initialize the SPI controller */
    152 
    153     la      k0,     reset_ioc_init
    154     jalr    k0
    155     nop
    156 
    157 #endif
     144    jal     reset_puts
     145    nop
     146
     147    /* Processor 0 initializes the block device */
     148
     149    jal     reset_ioc_init
     150    nop
    158151
    159152    /*
     
    162155     */
    163156
    164     la      k0,     reset_elf_loader
    165     li      a0,     BOOT_LOADER_LBA
    166     jalr    k0
     157    li      a0,     RESET_LOADER_LBA
     158    jal     reset_elf_loader
    167159    nop
    168160
Note: See TracChangeset for help on using the changeset viewer.