wok view syslinux/stuff/extra/fixes-4.07.u @ rev 20056

syslinux: fixes from syslinux git
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Sep 08 15:02:42 2017 +0200 (2017-09-08)
parents
children
line source
1 --- mbr/isohdpfx.S
2 +++ mbr/isohdpfx.S
3 @@ -167,20 +167,22 @@
4 read_sector_cbios: movb $0x42, %ah ; jmp read_common */
5 movl $0xeb42b4+((read_common-read_sector_cbios-4) << 24), \
6 (read_sector_cbios)
7 - jmp 1f
8 + jmp 2f
9 1:
10 + xor %cx, %cx /* Clear EBIOS flag. */
11 +2:
12 popw %dx
13 pushw %cx /* EBIOS flag */
15 /* Get (C)HS geometry */
16 movb $0x08, %ah
17 int $0x13
18 - andw $0x3f, %cx /* Sector count */
19 popw %bx /* EBIOS flag */
20 - pushw %cx /* -16: Save sectors on the stack */
21 movzbw %dh, %ax /* dh = max head */
22 incw %ax /* From 0-based max to count */
23 - pushw %ax /* -18: Save heads on the stack */
24 + pushw %ax /* -16: Save heads on the stack */
25 + andw $0x3f, %cx /* Sector count */
26 + pushw %cx /* -18: Save sectors on the stack */
27 mulw %cx /* Heads*sectors -> sectors per cylinder */
29 pushw %bx /* -20: EBIOS flag */
30 --- extlinux/main.c
31 +++ extlinux/main.c
32 @@ -1236,9 +1236,7 @@
33 if (devfd < 0)
34 return 1;
36 - if (opt.reset_adv)
37 - syslinux_reset_adv(syslinux_adv);
38 - else if (ext_read_adv(path, devfd, &filename) < 0) {
39 + if (ext_read_adv(path, devfd, &filename) < 0) {
40 close(devfd);
41 return 1;
42 }
43 --- core/isolinux.asm
44 +++ core/isolinux.asm
45 @@ -426,14 +426,17 @@
46 .ok:
47 xor bx,bx
48 push bp
49 + push eax
50 call getlinsec
51 + pop eax
52 pop cx
53 - mov dx,cx
54 + movzx edx,cx
55 pop bp
56 pop bx
58 shl cx,SECTOR_SHIFT - 4
59 add bx,cx
60 + add eax,edx
61 sub bp,dx
62 jnz .more