source: bootcd/isolinux/syslinux-6.03/gpxe/src/arch/i386/prefix/nbiprefix.S

Last change on this file was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 1.6 KB
Line 
1        .text
2        .arch i386
3        .code16
4        .section ".prefix", "ax", @progbits
5        .org 0
6
7nbi_header:
8       
9/*****************************************************************************
10 * NBI file header
11 *****************************************************************************
12 */
13file_header:
14        .long   0x1b031336      /* Signature */
15        .byte   0x04            /* 16 bytes header, no vendor info */
16        .byte   0
17        .byte   0
18        .byte   0               /* No flags */
19        .word   0x0000, 0x07c0  /* Load header to 0x07c0:0x0000 */
20        .word   entry, 0x07c0   /* Start execution at 0x07c0:entry */
21        .size   file_header, . - file_header
22
23/*****************************************************************************
24 * NBI segment header
25 *****************************************************************************
26 */
27segment_header:
28        .byte   0x04            /* 16 bytes header, no vendor info */
29        .byte   0
30        .byte   0
31        .byte   0x04            /* Last segment */
32        .long   0x00007e00
33imglen: .long   -512
34memlen: .long   -512
35        .size   segment_header, . - segment_header
36
37        .section ".zinfo.fixup", "a", @progbits /* Compressor fixups */
38        .ascii  "ADDL"
39        .long   imglen
40        .long   1
41        .long   0
42        .ascii  "ADDL"
43        .long   memlen
44        .long   1
45        .long   0
46        .previous
47
48/*****************************************************************************
49 * NBI entry point
50 *****************************************************************************
51 */
52entry:
53        /* Install gPXE */
54        call    install
55
56        /* Jump to .text16 segment */
57        pushw   %ax
58        pushw   $1f
59        lret
60        .section ".text16", "awx", @progbits
611:
62        pushl   $main
63        pushw   %cs
64        call    prot_call
65        popl    %ecx /* discard */
66
67        /* Uninstall gPXE */
68        call    uninstall
69
70        /* Reboot system */
71        int $0x19
72
73        .previous
74        .size   entry, . - entry
75
76nbi_header_end:
77        .org 512
Note: See TracBrowser for help on using the repository browser.