|
|
1.1 root 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 _nbi_start, 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: .globl _nbi_start
53: _nbi_start:
54: /* Install iPXE */
55: call install
56:
57: /* Jump to .text16 segment */
58: pushw %ax
59: pushw $1f
60: lret
61: .section ".text16", "awx", @progbits
62: 1:
63: pushl $main
64: pushw %cs
65: call prot_call
66: popl %ecx /* discard */
67:
68: /* Uninstall iPXE */
69: call uninstall
70:
71: /* Reboot system */
72: int $0x19
73:
74: .previous
75: .size _nbi_start, . - _nbi_start
76:
77: nbi_header_end:
78: .org 512
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.