xref: /DragonStub/lib/arm/initplat.c (revision 3dd05c7b21921cae0002ab7964fa0e52dedd7c3f)
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 __attribute__((__unused__)),
23     IN EFI_SYSTEM_TABLE     *SystemTable __attribute__((__unused__))
24     )
25 {
26 }
27 
28 /*
29  * Calls to these functions may be emitted implicitly by GCC even when
30  * -ffreestanding is in effect.
31  */
32 void *memset(void *s, int c, __SIZE_TYPE__ n)
33 {
34     unsigned char *p = s;
35 
36     while (n--)
37         *p++ = c;
38 
39     return s;
40 }
41 
42 void *memcpy(void *dest, const void *src, __SIZE_TYPE__ n)
43 {
44     unsigned char *p = dest;
45     unsigned char const *q = src;
46 
47     while (n--)
48         *p++ = *q++;
49 
50     return dest;
51 }
52 
53 void __div0(void)
54 {
55 	// TODO handle divide by zero fault
56 	while (1);
57 }
58 
59