wok-next annotate linld/stuff/tobzimage.S @ rev 18501

Up firefox-official(41.0.2): fix CVE-2015-7184
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Oct 16 14:36:34 2015 +0300 (2015-10-16)
parents df58e6c974a3
children 86c9fae82f47
rev   line source
pascal@18228 1 .code16
pascal@18228 2 .org 0
pascal@18228 3
pascal@18228 4 jmp start
pascal@18228 5 .ascii "HdrS"
pascal@18228 6 .word 0x200 # version
pascal@18228 7 .long 0 # realmode_swtch
pascal@18228 8 .word 0x1000 # start_sys_seg
pascal@18228 9 .word kernel_version
pascal@18228 10 .byte 0 # type of loader
pascal@18228 11 .byte 1 # loadflags
pascal@18228 12 .word 0x8000 # setup_move_size
pascal@18228 13 .long 0x100000 # code32_start
pascal@18228 14 .long 0 # ramdisk_image
pascal@18228 15 .long 0 # ramdisk_size
pascal@18228 16 .long 0 # bootsect_kludge
pascal@18228 17 .word 0 # heap_end_ptr 2.01+, patched by bootloader
pascal@18228 18 start:
pascal@18228 19 pushf
pascal@18228 20 cld
pascal@18228 21 pushw %cs
pascal@18228 22 pushw $0
pascal@18228 23 pushaw
pascal@18228 24 pushw %ds
pascal@18228 25 popw %es
pascal@18229 26 .byte 0x66, 0xB8 # movl $?, %eax
pascal@18229 27 rep
pascal@18229 28 movsw
pascal@18229 29 popaw
pascal@18229 30 iret
pascal@18228 31 xorw %di, %di
pascal@18228 32 pushw %es
pascal@18228 33 pushw %di
pascal@18229 34 stosl
pascal@18228 35 movw $0x200, %di
pascal@18228 36 movw %sp, %bp
pascal@18228 37 movw $9, %cx
pascal@18228 38 z1:
pascal@18228 39 pushw $0
pascal@18228 40 loop z1
pascal@18228 41 movw $0x9301, %ax
pascal@18228 42 cwd # %dx = -1
pascal@18228 43 pushw %ax
pascal@18228 44 pushw %cx
pascal@18228 45 pushw %dx
pascal@18228 46 pushw %cx
pascal@18228 47 movb 0x216, %al
pascal@18228 48 pushw %ax
pascal@18228 49 pushw %cx
pascal@18228 50 pushw %dx
pascal@18228 51 movb $8, %cl
pascal@18228 52 z2:
pascal@18228 53 pushw $0
pascal@18228 54 loop z2
pascal@18228 55 movw -12(%di), %dx
pascal@18228 56 mvlp:
pascal@18228 57 movw %sp, %si
pascal@18228 58 movw $0x8000, %cx
pascal@18228 59 movb $0x87, %ah
pascal@18228 60 int $0x15
pascal@18228 61 incw 20(%si)
pascal@18228 62 incw 28(%si)
pascal@18229 63 subw $0x1000, %dx
pascal@18228 64 ja mvlp
pascal@18228 65 movw %bp, %sp
pascal@18228 66 movw $0x400, %si
pascal@18228 67 xorw %cx, %cx
pascal@18228 68 decb -15(%di)
pascal@18228 69 movb -15(%di), %ch
pascal@18228 70 lret
pascal@18228 71 kernel_version:
pascal@18228 72 .asciz "zImage"
pascal@18228 73 .org 512
pascal@18228 74 oldsetup:
pascal@18228 75