Add files missing from previous checkins
authorH. Peter Anvin <hpa@zytor.com>
Sat, 23 Sep 2006 06:30:51 +0000 (23:30 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Sat, 23 Sep 2006 06:30:51 +0000 (23:30 -0700)
configinit.inc [new file with mode: 0644]
initconfig.inc [new file with mode: 0644]

diff --git a/configinit.inc b/configinit.inc
new file mode 100644 (file)
index 0000000..222a049
--- /dev/null
@@ -0,0 +1,56 @@
+;; -----------------------------------------------------------------------
+;;   
+;;   Copyright 1994-2006 H. Peter Anvin - All Rights Reserved
+;;
+;;   This program is free software; you can redistribute it and/or modify
+;;   it under the terms of the GNU General Public License as published by
+;;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
+;;   Boston MA 02111-1307, USA; either version 2 of the License, or
+;;   (at your option) any later version; incorporated herein by reference.
+;;
+;; -----------------------------------------------------------------------
+
+;;
+;; configinit.inc
+;;
+;; Initialize the configuration section
+;;
+
+               section .text
+
+reset_config:
+               xor eax,eax
+
+               ; Initialize the .config section
+               mov si,section..config.start
+               mov di,section..config.vstart
+               mov cx,section..config.end.start
+               sub cx,di
+               shr cx,2
+               rep movsd
+
+%if NULLFILE != 0
+               mov al,NULLFILE
+               mov di,FKeyName
+               mov cx,10*(1 << FILENAME_MAX_LG2)
+               rep stosb
+%endif
+
+               mov si,linuxauto_cmd            ; Default command: "linux auto"
+               mov di,default_cmd
+                mov cx,linuxauto_len
+               rep movsb
+
+               mov di,KbdMap                   ; Default keymap 1:1
+               xor al,al
+               inc ch                          ; CX <- 256
+mkkeymap:      stosb
+               inc al
+               loop mkkeymap
+
+               ret
+
+               section .data
+linuxauto_cmd  db 'linux auto',0
+linuxauto_len   equ $-linuxauto_cmd
+
diff --git a/initconfig.inc b/initconfig.inc
new file mode 100644 (file)
index 0000000..5240567
--- /dev/null
@@ -0,0 +1,69 @@
+; -*- fundamental -*-
+; -----------------------------------------------------------------------
+;
+;   Copyright 2004 H. Peter Anvin - All Rights Reserved
+;
+;   This program is free software; you can redistribute it and/or modify
+;   it under the terms of the GNU General Public License as published by
+;   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
+;   Boston MA 02111-1307, USA; either version 2 of the License, or
+;   (at your option) any later version; incorporated herein by reference.
+;
+; -----------------------------------------------------------------------
+
+;
+; init.inc
+;
+; Common initialization code (inline)
+;
+
+               section .text
+common_init:
+               ; Now set up screen parameters
+               call adjust_screen
+
+
+               ; If we restart with a new configuration file, start
+               ; over here...
+reset_config:
+               ; Wipe the F-key area
+               mov al,NULLFILE
+               mov di,FKeyName
+               mov cx,10*(1 << FILENAME_MAX_LG2)
+               rep stosb
+
+               mov si,linuxauto_cmd            ; Default command: "linux auto"
+               mov di,default_cmd
+                mov cx,linuxauto_len
+               rep movsb
+
+               mov di,KbdMap                   ; Default keymap 1:1
+               xor al,al
+               inc ch                          ; CX <- 256
+mkkeymap:      stosb
+               inc al
+               loop mkkeymap
+
+;
+; Clear Files structures
+;
+               mov di,Files
+               mov cx,(MAX_OPEN*open_file_t_size)/4
+               xor eax,eax
+               rep stosd
+
+%if IS_PXELINUX
+               mov di,Files+tftp_pktbuf
+               mov cx,MAX_OPEN
+.setbufptr:
+               mov [di],ax
+               add di,open_file_t_size
+               add ax,PKTBUF_SIZE
+               loop .setbufptr
+%endif
+
+               section .data
+linuxauto_cmd  db 'linux auto',0
+linuxauto_len   equ $-linuxauto_cmd
+
+               section .text                   ; This is an inline file...