xref: /DragonStub/lib/arm/initplat.c (revision 3f234f5b6ff5c16c6ddd5f2c2513fb329aecd30a)
1 /*
2  * Copright (C) 2014 Linaro Ltd.
3  * Author: Ard Biesheuvel <ard.biesheuvel@linaro.org>
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice and this list of conditions, without modification.
10  * 2. The name of the author may not be used to endorse or promote products
11  *    derived from this software without specific prior written permission.
12  *
13  * Alternatively, this software may be distributed under the terms of the
14  * GNU General Public License as published by the Free Software Foundation;
15  * either version 2 of the License, or (at your option) any later version.
16  */
17 
18 #include "lib.h"
19 
20 VOID
21 InitializeLibPlatform (
22     IN EFI_HANDLE           ImageHandle EFI_UNUSED,
23     IN EFI_SYSTEM_TABLE     *SystemTable EFI_UNUSED
24     )
25 {
26 }
27 
28 #ifdef __GNUC__
29 /*
30  * Calls to these functions may be emitted implicitly by GCC even when
31  * -ffreestanding is in effect.
32  */
33 void *memset(void *s, int c, __SIZE_TYPE__ n)
34 {
35     unsigned char *p = s;
36 
37     while (n--)
38         *p++ = c;
39 
40     return s;
41 }
42 
43 void *memcpy(void *dest, const void *src, __SIZE_TYPE__ n)
44 {
45     unsigned char *p = dest;
46     unsigned char const *q = src;
47 
48     while (n--)
49         *p++ = *q++;
50 
51     return dest;
52 }
53 
54 void __div0(void)
55 {
56 	// TODO handle divide by zero fault
57 	while (1);
58 }
59 #endif
60