diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-05-25 17:48:58 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-05-25 17:48:58 -0700 |
commit | bb519a95c0da9871fd99b068d00e96fd78cc8cc1 (patch) | |
tree | ea26286be0797667cf46dde652330e628629553e /core/isolinux.asm | |
parent | 942aadea9468884dfbc2a7c8428f52bbb5ecf360 (diff) | |
download | syslinux-bb519a95c0da9871fd99b068d00e96fd78cc8cc1.tar.gz |
isohybrid: revert to a stack format compatible with previous versionsyslinux-3.81-pre14
Revert the isohybrid handover protocol so that it has a stack format
compatible with the previous versions; that way we can also revert the
magic number to a compatible one.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'core/isolinux.asm')
-rw-r--r-- | core/isolinux.asm | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/core/isolinux.asm b/core/isolinux.asm index b85ecd36..104de14a 100644 --- a/core/isolinux.asm +++ b/core/isolinux.asm @@ -224,35 +224,32 @@ bi_end: ; Custom entry point for the hybrid-mode disk. ; The following values will have been pushed onto the ; entry stack: + ; - partition offset (qword) ; - ES ; - DI ; - DX (including drive number) - ; - partition offset (qword) - ; - EBIOS flag - ; - CBIOS Sectors ; - CBIOS Heads + ; - CBIOS Sectors + ; - EBIOS flag ; (top of stack) ; %ifndef DEBUG_MESSAGES _hybrid_signature: - dd 0x0defe3f7 + dd 0x7078c0fb ; An arbitrary number... + _start_hybrid: - pop word [cs:bsHeads] + pop cx ; EBIOS flag pop word [cs:bsSecPerTrack] - - pop ax - mov si,bios_cbios - and ax,ax - jz .cbios - mov si,bios_ebios -.cbios: - - pop dword [cs:bsHidden] - pop dword [cs:bsHidden+4] - + pop word [cs:bsHeads] pop dx pop di pop es + pop dword [cs:bsHidden] + pop dword [cs:bsHidden+4] + + mov si,bios_cbios + jcxz _start_common + mov si,bios_ebios jmp _start_common %endif |