isolinux: Clear upper half of EDX before using
[syslinux.git] / core / configinit.inc
blob915e77f7b63c56dd786f5576cc54d6352e26d477
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.
12 ;; -----------------------------------------------------------------------
15 ;; configinit.inc
17 ;; Initialize the configuration section
20                 section .text16
22 reset_config:
23                 call highmemsize
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
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
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
48                 mov eax,[HighMemSize]
49                 mov [VKernelEnd],eax
51                 ret