[prefix] Remove unsupported .com prefix
[gpxe.git] / src / arch / i386 / prefix / elf_dprefix.S
blob0eac77e0e7d1cb18ac41ff93cdd4af417d7df4f0
1 #include "elf.h"
3         .arch i386
4         .section ".prefix", "a", @progbits
6 #define LOAD_ADDR 0x10000
8         /* ELF Header */
9         .globl elf_header
10 elf_header:     
11 e_ident:        .byte   0x7f, 'E', 'L', 'F', 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
12 e_type:         .short  ET_DYN
13 e_machine:      .short  EM_386
14 e_version:      .long   1
15 e_entry:        .long   LOAD_ADDR + _start - elf_header
16 e_phoff:        .long   elf_program_header - elf_header
17 e_shoff:        .long   0
18 e_flags:        .long   0
19 e_ehsize:       .short  elf_header_end - elf_header
20 e_phentsize:    .short  ELF32_PHDR_SIZE
21 e_phnum:        .short  (elf_program_header_end - elf_program_header)/ELF32_PHDR_SIZE
22 e_shentsize:    .short  0
23 e_shnum:        .short  0
24 e_shstrndx:     .short  0
25 elf_header_end:
26         
27 elf_program_header:
28 phdr1_p_type:   .long   PT_NOTE
29 phdr1_p_offset: .long   elf_note - elf_header
30 phdr1_p_vaddr:  .long   elf_note
31 phdr1_p_paddr:  .long   elf_note
32 phdr1_p_filesz: .long   elf_note_end - elf_note
33 phdr1_p_memsz:  .long   elf_note_end - elf_note
34 phdr1_p_flags:  .long   PF_R | PF_W | PF_X
35 phdr1_p_align:  .long   0
37 /* The decompressor */
38 phdr2_p_type:   .long   PT_LOAD
39 phdr2_p_offset: .long   0
40 phdr2_p_vaddr:  .long   elf_header
41 phdr2_p_paddr:  .long   LOAD_ADDR
42 phdr2_p_filesz: .long   _verbatim_size
43 phdr2_p_memsz:  .long   _image_size
44 phdr2_p_flags:  .long   PF_R | PF_W | PF_X
45 phdr2_p_align:  .long   16
47 elf_program_header_end:
49         .globl elf_note
50 elf_note:
51         .balign 4
52         .int 2f - 1f
53         .int 4f - 3f
54         .int EIN_PROGRAM_NAME
55 1:      .asciz "ELFBoot"
57         .balign 4
58 3:      
59         .asciz "Etherboot"
63         .balign 4
64         .int 2f - 1f
65         .int 4f - 3f
66         .int EIN_PROGRAM_VERSION
67 1:      .asciz "ELFBoot"
69         .balign 4
70 3:      
71         .asciz VERSION
74 #if 0
75         .balign 4
76         .int 2f - 1f
77         .int 4f - 3f
78         .int EIN_PROGRAM_CHECKSUM
79 1:      .asciz "ELFBoot"
81         .balign 4
82 3:      
83         .word 0
85 #endif
86         .balign 4
87 elf_note_end:
89         /* Dummy routines to satisfy the build */
90         .section ".text16", "ax", @progbits
91 prefix_exit:
93 prefix_exit_end:
94         .previous