mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-15 07:41:45 +00:00
698f86f25a
mechanism has changed anyway, and so must be rewritten, but at least doing this makes the output of "make symcheck" more legible.
95 lines
1.8 KiB
ArmAsm
95 lines
1.8 KiB
ArmAsm
#include "elf.h"
|
|
|
|
.arch i386
|
|
.section ".prefix", "a", @progbits
|
|
|
|
#define LOAD_ADDR 0x10000
|
|
|
|
/* ELF Header */
|
|
.globl elf_header
|
|
elf_header:
|
|
e_ident: .byte 0x7f, 'E', 'L', 'F', 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
|
e_type: .short ET_EXEC
|
|
e_machine: .short EM_386
|
|
e_version: .long 1
|
|
e_entry: .long LOAD_ADDR + _start - elf_header
|
|
e_phoff: .long elf_program_header - elf_header
|
|
e_shoff: .long 0
|
|
e_flags: .long 0
|
|
e_ehsize: .short elf_header_end - elf_header
|
|
e_phentsize: .short ELF32_PHDR_SIZE
|
|
e_phnum: .short (elf_program_header_end - elf_program_header)/ELF32_PHDR_SIZE
|
|
e_shentsize: .short 0
|
|
e_shnum: .short 0
|
|
e_shstrndx: .short 0
|
|
elf_header_end:
|
|
|
|
elf_program_header:
|
|
phdr1_p_type: .long PT_NOTE
|
|
phdr1_p_offset: .long elf_note - elf_header
|
|
phdr1_p_vaddr: .long elf_note
|
|
phdr1_p_paddr: .long elf_note
|
|
phdr1_p_filesz: .long elf_note_end - elf_note
|
|
phdr1_p_memsz: .long elf_note_end - elf_note
|
|
phdr1_p_flags: .long PF_R | PF_W | PF_X
|
|
phdr1_p_align: .long 0
|
|
|
|
/* The decompressor */
|
|
phdr2_p_type: .long PT_LOAD
|
|
phdr2_p_offset: .long 0
|
|
phdr2_p_vaddr: .long elf_header
|
|
phdr2_p_paddr: .long LOAD_ADDR
|
|
phdr2_p_filesz: .long _verbatim_size
|
|
phdr2_p_memsz: .long _image_size
|
|
phdr2_p_flags: .long PF_R | PF_W | PF_X
|
|
phdr2_p_align: .long 16
|
|
|
|
elf_program_header_end:
|
|
|
|
.globl elf_note
|
|
elf_note:
|
|
.balign 4
|
|
.int 2f - 1f
|
|
.int 4f - 3f
|
|
.int EIN_PROGRAM_NAME
|
|
1: .asciz "ELFBoot"
|
|
2:
|
|
.balign 4
|
|
3:
|
|
.asciz "Etherboot"
|
|
4:
|
|
|
|
|
|
.balign 4
|
|
.int 2f - 1f
|
|
.int 4f - 3f
|
|
.int EIN_PROGRAM_VERSION
|
|
1: .asciz "ELFBoot"
|
|
2:
|
|
.balign 4
|
|
3:
|
|
.asciz VERSION
|
|
4:
|
|
|
|
#if 0
|
|
.balign 4
|
|
.int 2f - 1f
|
|
.int 4f - 3f
|
|
.int EIN_PROGRAM_CHECKSUM
|
|
1: .asciz "ELFBoot"
|
|
2:
|
|
.balign 4
|
|
3:
|
|
.word 0
|
|
4:
|
|
#endif
|
|
.balign 4
|
|
elf_note_end:
|
|
|
|
/* Dummy routines to satisfy the build */
|
|
.section ".text16", "ax", @progbits
|
|
prefix_exit:
|
|
|
|
prefix_exit_end:
|
|
.previous
|