- Avoid a memory location overwritten by RBFG.
authorhpa <hpa>
Fri, 5 Dec 2003 21:55:41 +0000 (21:55 +0000)
committerhpa <hpa>
Fri, 5 Dec 2003 21:55:41 +0000 (21:55 +0000)
- Change number of vkernels and characters in pxelinux.

NEWS
pxelinux.asm
pxelinux.doc
syslinux.doc

diff --git a/NEWS b/NEWS
index ec26f7d..f2fde65 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,10 @@ Changes in 2.08:
          disk.
        * .c32 is now one of the extensions searched for
          automatically.
+       * PXELINUX: RFBG.exe seems to randomly overwrite memory
+         location 0x5700.  Thus, don't use it!
+       * PXELINUX: Change pathname length max from 63 to 127; change
+         max vkernels from 128 to 64.
 
 Changes in 2.07:
        * MEMDISK: Workaround for BIOSes which go into a snit when
index 8f628a2..d2bfe32 100644 (file)
@@ -30,7 +30,7 @@
 ; Some semi-configurable constants... change on your own risk.
 ;
 my_id          equ pxelinux_id
-FILENAME_MAX_LG2 equ 6                 ; log2(Max filename size Including final null)
+FILENAME_MAX_LG2 equ 7                 ; log2(Max filename size Including final null)
 FILENAME_MAX   equ (1 << FILENAME_MAX_LG2)
 NULLFILE       equ 0                   ; Zero byte == null file name
 REBOOT_TIME    equ 5*60                ; If failure, time until full reset
@@ -93,7 +93,7 @@ TFTP_EOPTNEG  equ htons(8)            ; Option negotiation failure
 ;
 ; Note: this structure can be added to, but it must 
 ;
-%define vk_power       7               ; log2(max number of vkernels)
+%define vk_power       6               ; log2(max number of vkernels)
 %define        max_vk          (1 << vk_power) ; Maximum number of vkernels
 %define vk_shift       (16-vk_power)   ; Number of bits to shift
 %define vk_size                (1 << vk_shift) ; Size of a vkernel buffer
@@ -204,16 +204,21 @@ xbs_textbuf       equ 0                   ; Also hard-coded, do not change
 xbs_vgabuf     equ trackbufsize
 xbs_vgatmpbuf  equ 2*trackbufsize
 
-                absolute 5000h          ; Here we keep our BSS stuff
+                absolute 4000h          ; Here we keep our BSS stuff
 VKernelBuf:    resb vk_size            ; "Current" vkernel
                alignb 4
 AppendBuf       resb max_cmd_len+1     ; append=
 Ontimeout      resb max_cmd_len+1      ; ontimeout
 Onerror                resb max_cmd_len+1      ; onerror
 KbdMap         resb 256                ; Keyboard map
-BootFile       resb 256                ; Boot file from DHCP packet
 PathPrefix     resb 256                ; Path prefix derived from the above
+BootFile       resb 256                ; Boot file from DHCP packet
 ConfigName     resb 256                ; Configuration file from DHCP option
+
+; Warning here: RBFG build 22 seems to randomly overwrite memory location
+; 0x5700.  Not sure why yet.  Consider that if these are realigned.
+
+               absolute 5800h
 FKeyName       resb 10*FILENAME_MAX    ; File names for F-key help
 NumBuf         resb 15                 ; Buffer to load number
 NumBufEnd      resb 1                  ; Last byte in NumBuf
@@ -1239,7 +1244,7 @@ searchdir:
 
 .pkt_loop:     mov bx,[bp-8]           ; TID
                mov di,packet_buf
-               mov [pxe_udp_read_pkt.status],byte 0
+               mov word [pxe_udp_read_pkt.status],0
                mov [pxe_udp_read_pkt.buffer],di
                mov [pxe_udp_read_pkt.buffer+2],ds
                mov word [pxe_udp_read_pkt.buffersize],packet_buf_size
index d03481a..a2717db 100644 (file)
@@ -56,7 +56,7 @@ search for its config file on the boot server in the following way:
 
 It should be noted that all filename references are relative to the
 directory pxelinux.0 lives in (usually /tftpboot).  PXELINUX
-generally requires that filenames (including any relative path) are 63
+generally requires that filenames (including any relative path) are 127
 characters or shorter in length.
 
 PXELINUX does not support MTFTP, and I have no immediate plans of
index e621b50..571d078 100644 (file)
@@ -161,8 +161,8 @@ LABEL label
         specified in the global section of the file (before the first
         LABEL command.)  The default for "image" is the same as
         "label", and if no APPEND is given the default is to use the
-        global entry (if any).  Up to 128 LABEL entries are permitted
-       (for ISOLINUX, 64 LABEL entries.)
+        global entry (if any).  Up to 64 LABEL entries are permitted
+       (for SYSLINUX, 128 LABEL entries.)
 
         Note that LILO uses the syntax:
         image = mykernel