Merge with git+ssh://master.kernel.org/pub/scm/boot/syslinux/syslinux.git#syslinux... syslinux-3.40-pre5
authorH. Peter Anvin <hpa@zytor.com>
Sat, 10 Feb 2007 21:22:40 +0000 (13:22 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Sat, 10 Feb 2007 21:22:40 +0000 (13:22 -0800)
1  2 
NEWS
bootsect.inc
comboot.doc
comboot.inc
extlinux.asm
font.inc
layout.inc
ldlinux.asm
ui.inc

diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -2,12 -2,17 +2,23 @@@ Starting with 1.47, changes marked wit
  apply to that specific program only; other changes apply to all of
  them.
  
 +Changes in 3.40:
 +      * New keywords allow the type of file to be specified in the
 +        configuration file.
 +      * It is now supported to load a different configuration file
 +        with the CONFIG keyword.
 +
+ Changes in 3.36:
+       * MEMDISK: Disable EDD by default on floppy disks.  EDD can be
+         enabled with the "edd" option and disabled with "noedd".
+         This (hopefully) should make Ghost work again.
+       * SYSLINUX: "unix" installer now uses Linux ioctls instead of
+         using libfat.
+       * New MBR which can boot from logical partitions.
+       * SYSLINUX: Fix bug in detecting special extensions which was
+         introduced in 3.35 :(
+       * PXELINUX: Unbreak chainbooting FreeBSD (and possibly others.)
  Changes in 3.35:
        * MEMDISK: New "safeint" mode.
        * MEMDISK: Be more compliant with the PnP BIOS spec.
diff --cc bootsect.inc
Simple merge
diff --cc comboot.doc
Simple merge
diff --cc comboot.inc
Simple merge
diff --cc extlinux.asm
Simple merge
diff --cc font.inc
Simple merge
diff --cc layout.inc
Simple merge
diff --cc ldlinux.asm
Simple merge
diff --cc ui.inc
--- 1/ui.inc
--- 2/ui.inc
+++ b/ui.inc
@@@ -508,17 -487,11 +495,16 @@@ kernel_good
  .one_step:    mov ecx,[di-4]                  ; 4 bytes before end
                pop ax
                pop di
- %endif
  
  ;
 -; At this point, DX:AX contains the size of the kernel, and SI contains
 -; the file handle/cluster pointer.
 +; At this point, DX:AX contains the size of the kernel, SI contains
 +; the file handle/cluster pointer, and ECX contains the extension (if any.)
  ;
 +              movzx di,byte [KernelType]
 +              add di,di
 +              jmp [kerneltype_table+di]
 +
 +is_unknown_filetype:
                or ecx,20202000h                ; Force lower case (except dot)
  
                cmp ecx,'.com'
                shr ecx,8
                cmp cx,'.0'
                je is_bootsector
- %endif
                ; Otherwise Linux kernel
 +              jmp is_linux_kernel
 +
 +is_config_file:
 +              call openfd
 +              call reset_config
 +              jmp load_config_file
 +
 +; This is an image type we can't deal with
 +is_bad_image:
 +              mov si,err_badimage
 +              call cwritestr
 +              jmp enter_command
 +
 +%if IS_SYSLINUX || IS_MDSLINUX
 +              ; ok
 +%else
 +is_bss_sector equ is_bad_image
 +%endif
 +%if IS_ISOLINUX
 +              ; ok
 +%else
 +is_disk_image equ is_bad_image
 +%endif
 +
 +              section .data
 +err_badimage  db 'Invalid image type for this media type!', CR, LF, 0
 +
 +              align 2, db 0
 +kerneltype_table:
 +              dw is_unknown_filetype  ; VK_KERNEL
 +              dw is_linux_kernel      ; VK_LINUX
 +              dw is_bootsector        ; VK_BOOT
 +              dw is_bss_sector        ; VK_BSS
 +              dw is_disk_image        ; VK_FDIMAGE
 +              dw is_comboot_image     ; VK_COMBOOT
 +              dw is_com32_image       ; VK_COM32
 +              dw is_config_file       ; VK_CONFIG
  
                section .bss
                alignb 4