source: soft/giet_vm/giet_libs/libsrl/srl_private_types.c @ 395

Last change on this file since 395 was 258, checked in by alain, 11 years ago

This is a major release, including a deep restructuration of code.
The main evolutions are

  • use of the Tsar preloader to load the GIET boot-loader from disk
  • introduction of a FAT32 file system library,
  • use of this fat32 library by the boot-loader to load the map.bin data structure, and the various .elf files
  • reorganisation of drivers (one file per peripheral).
  • introduction of drivers for new peripherals: vci_chbuf_dma and vci_multi_ahci.
  • introduction of a new physical memory allocator in the boot code.

This release has been tested on the tsar_generic_iob architecture,
for the two following mappings: 4c_1p_iob_four.xml and 4c_1p_iob_sort.xml

  • Property svn:executable set to *
File size: 1.3 KB
Line 
1
2#include "srl_private_types.h"
3
4
5////////////////////////////////////////////////////////////////////////////////////////
6//  mempcy()
7// GCC requires this function. Taken from MutekH.
8////////////////////////////////////////////////////////////////////////////////////////
9void * memcpy(void *_dst, const void * _src, unsigned int size) {
10    unsigned int * dst = _dst;
11    const unsigned int * src = _src;
12    if (!((unsigned int) dst & 3) && !((unsigned int) src & 3) )
13        while (size > 3) {
14            *dst++ = *src++;
15            size -= 4;
16        }
17
18    unsigned char *cdst = (unsigned char*)dst;
19    unsigned char *csrc = (unsigned char*)src;
20
21    while (size--) {
22        *cdst++ = *csrc++;
23    }
24    return _dst;
25}
26
27
28////////////////////////////////////////////////////////////////////////////////////////
29//  mempcy()
30// GCC requires this function. Taken from MutekH.
31////////////////////////////////////////////////////////////////////////////////////////
32inline void * memset(void * dst, int s, size_t count) {
33    char * a = (char *) dst;
34    while (count--){
35        *a++ = (char)s;
36    }
37    return dst;
38}
39
40
41// Local Variables:
42// tab-width: 4
43// c-basic-offset: 4
44// c-file-offsets:((innamespace . 0)(inline-open . 0))
45// indent-tabs-mode: nil
46// End:
47// vim: filetype=c:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
48
Note: See TracBrowser for help on using the repository browser.