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/include/reset_utils.h

    r701 r758  
    55 */
    66
    7 #ifndef BOOT_UTILS_H
    8 #define BOOT_UTILS_H
     7#ifndef RESET_UTILS_H
     8#define RESET_UTILS_H
    99
    1010#include <elf-types.h>
    11 #include <reset_tty.h>
    12 #include <reset_ioc.h>
     11#include <inttypes.h>
    1312#include <defs.h>
    14 #include <mcc.h>
    15 #include <io.h>
    16 
    17 /********************************************************************
    18  * Integer types definition
    19  ********************************************************************/
    20 typedef unsigned int size_t;
    21 typedef unsigned int addr_t;
    2213
    2314/********************************************************************
     
    2617
    2718/*
    28  * cache line aligned disk block (sector) buffer 
     19 * cache line aligned disk block (sector) buffer
    2920 */
    3021struct aligned_blk
     
    3728 ********************************************************************/
    3829
    39 extern unsigned int proctime();
     30/**
     31 * \brief processor waits for n cycles
     32 */
     33static inline void reset_sleep(int cycles)
     34{
     35    volatile int i;
     36    for (i = 0; i < cycles; i++);
     37}
    4038
    41 extern int pread(size_t file_offset, void *buf, size_t nbyte, size_t offset);
     39/**
     40 * \brief returns processor count
     41 */
     42static inline unsigned int proctime()
     43{
     44    register unsigned int ret asm ("v0");
     45    asm volatile ("mfc0   %0,        $9":"=r" (ret));
     46    return ret;
     47}
    4248
    43 extern void* memcpy(void *_dst, const void *_src, size_t n);
    44 extern void* memset(void *_dst, int c, size_t len);
     49int pread(size_t file_offset, void *buf, size_t nbyte, size_t offset);
    4550
    46 extern void check_elf_header(Elf32_Ehdr *ehdr);
    47 extern void reset_print_elf_phdr(Elf32_Phdr * elf_phdr_ptr);
     51void* memcpy(void *_dst, const void *_src, size_t n);
     52void* memset(void *_dst, int c, size_t len);
    4853
    49 #if USE_IOB
    50 void reset_mcc_invalidate (const void * buf, size_t size);
    51 #endif /* USE_IOB */
     54void check_elf_header(Elf32_Ehdr *ehdr);
     55void reset_print_elf_phdr(Elf32_Phdr * elf_phdr_ptr);
    5256
    53 #if (CACHE_COHERENCE == 0) || USE_IOB
    54 void reset_buf_invalidate (const void * buf, size_t line_size, size_t size);
    55 #endif /* (CACHE_COHERENCE == 0) || USE_IOB */
    56 #endif /* BOOT_UTILS_H */
     57#endif /* RESET_UTILS_H */
    5758
    5859// vim: tabstop=4 : softtabstop=4 : shiftwidth=4 : expandtab
Note: See TracChangeset for help on using the changeset viewer.