syslinux.ld: ld 2.20.51 seems to want .bss16 explicitly (NOLOAD)
[profile/ivi/syslinux.git] / core / configinit.inc
1 ;; -----------------------------------------------------------------------
2 ;;
3 ;;   Copyright 1994-2008 H. Peter Anvin - All Rights Reserved
4 ;;   Copyright 2009-2010 Intel Corporation; author: H. Peter Anvin
5 ;;
6 ;;   This program is free software; you can redistribute it and/or modify
7 ;;   it under the terms of the GNU General Public License as published by
8 ;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
9 ;;   Boston MA 02111-1307, USA; either version 2 of the License, or
10 ;;   (at your option) any later version; incorporated herein by reference.
11 ;;
12 ;; -----------------------------------------------------------------------
13
14 ;;
15 ;; configinit.inc
16 ;;
17 ;; Initialize the configuration section
18 ;;
19
20                 section .text16
21
22 reset_config:
23                 call highmemsize
24
25                 ; Initialize the .config section
26                 xor eax,eax
27                 mov si,__config_lma
28                 mov di,__config_start
29                 mov cx,__config_dwords
30                 rep movsd
31
32 %ifndef DEPEND
33 %if NULLFILE != 0
34                 mov al,NULLFILE
35                 mov di,FKeyName
36                 mov cx,MAX_FKEYS*(1 << FILENAME_MAX_LG2)
37                 rep stosb
38 %endif
39 %endif
40
41                 mov di,KbdMap                   ; Default keymap 1:1
42                 xor al,al
43                 inc ch                          ; CX <- 256
44 mkkeymap:       stosb
45                 inc al
46                 loop mkkeymap
47
48                 mov eax,[HighMemSize]
49                 mov [VKernelEnd],eax
50
51                 ret