Merge with syslinux-3.3x
authorH. Peter Anvin <hpa@zytor.com>
Tue, 20 Feb 2007 00:26:52 +0000 (16:26 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 20 Feb 2007 00:26:52 +0000 (16:26 -0800)
1  2 
comboot.doc
comboot.inc

diff --combined comboot.doc
@@@ -642,7 -642,7 +642,7 @@@ AX=0016h [3.10] Run kernel imag
                DS:SI   Filename of kernel image (zero-terminated string)
                ES:BX   Command line (zero-terminated string)
                ECX     IPAPPEND flags [PXELINUX]
 -              EDX     Reserved - MUST BE ZERO
 +              EDX     Type of file (since 3.40)
        Output: Does not return if successful; returns with CF=1 if
                the kernel image is not found.
  
        may still return to the command line if the image is somehow
        corrupt, however.)
  
 +      The file types are defined as follows:
 +
 +                  Equivalent
 +      EDX     Config  Extensions      Type of file    
 +      0       KERNEL                  Determined by filename extension
 +      1       LINUX   none            Linux kernel image
 +      2       BOOT    .0 .bs .bin     Bootstrap program
 +      3       BSS     .bss            Boot sector with patch [SYSLINUX]
 +      4       FDIMAGE .img            Floppy disk image [ISOLINUX]
 +      5       COMBOOT .com .cbt       16-bit COMBOOT program
 +      6       COM32   .c32            COM32 program
 +      7       CONFIG                  Configuration file
 +
  
  AX=0017h [3.30] Report video mode change
        Input:  AX      0017h
@@@ -736,7 -723,7 +736,7 @@@ AX=0018h [3.30]    Query custom fon
        been loaded, AL contains zero.
  
  
- AX=0019h [3.35] Read disk [SYSLINUX, ISOLINUX, EXTLINUX]
+ AX=0019h [3.xx] Read disk [SYSLINUX, ISOLINUX, EXTLINUX]
        Input:  AX      0019h
                EDX     Sector number
                ESI     Reserved - MUST BE ZERO
diff --combined comboot.inc
@@@ -679,10 -679,6 +679,10 @@@ comapi_features
  ; INT 22h AX=0016h    Run kernel image
  ;
  comapi_runkernel:
 +              mov al,P_DL
 +              cmp al,VK_TYPES-1
 +              ja .error
 +              mov [KernelType],al
                push ds
                mov ds,P_DS
                mov si,P_SI
                mov word [CmdOptPtr],zero_string
                jmp kernel_good_saved
  
 +.error                equ comapi_shuffle.error
 +
  ;
  ; INT 22h AX=0017h  Report video mode change
  ;
@@@ -786,9 -780,9 +786,9 @@@ comapi_readdisk
                or esi,P_EDI            ; are reserved for future expansion
                jnz .err
                mov eax,P_EDX
-               mov bp,P_CX
                mov es,P_ES
                mov bx,P_BX
+               mov bp,P_CX             ; WE CANNOT use P_* after touching bp!
                call getlinsec
                clc
                ret