mb/google/fatcat/var/felino: Add initial memory config
[coreboot2.git] / src / cpu / x86 / copy_data_section.inc
blobdccb8d39755a738e84fa0c6d6668f4d1bee6f87b
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #if ENV_SEPARATE_DATA_AND_BSS
5 /*
6  * Copy .data section content to Cache-As-Ram.
7  * This code can be included from 32 bits or 64 bits code. It also preserves
8  * registers.
9  */
10 copy_data_section:
11 #if ENV_X86_64
12         push    %rcx
13         push    %rdi
14         push    %rsi
15 #else
16         pushl   %ecx
17         pushl   %edi
18         pushl   %esi
19 #endif
21         movl    $(_edata), %ecx
22         movl    $(_data), %edi
23         sub     %edi, %ecx
24         movl    $(_data_load),%esi
25         shrl    $2, %ecx
26         rep     movsl
28 #if ENV_X86_64
29         pop     %rsi
30         pop     %rdi
31         pop     %rcx
32 #else
33         popl    %esi
34         popl    %edi
35         popl    %ecx
36 #endif
38 #endif  /* ENV_SEPARATE_DATA_AND_BSS */