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 | |
---|
7 | nbi_header: |
---|
8 | |
---|
9 | /***************************************************************************** |
---|
10 | * NBI file header |
---|
11 | ***************************************************************************** |
---|
12 | */ |
---|
13 | file_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 | */ |
---|
27 | segment_header: |
---|
28 | .byte 0x04 /* 16 bytes header, no vendor info */ |
---|
29 | .byte 0 |
---|
30 | .byte 0 |
---|
31 | .byte 0x04 /* Last segment */ |
---|
32 | .long 0x00007e00 |
---|
33 | imglen: .long -512 |
---|
34 | memlen: .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 | */ |
---|
52 | entry: |
---|
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 |
---|
61 | 1: |
---|
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 | |
---|
76 | nbi_header_end: |
---|
77 | .org 512 |
---|
Note: See
TracBrowser
for help on using the repository browser.