[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

load ELF file and jump entry



湯浅です。

hpcbootについて教えてください。

MIPS系のCEマシンでhpcbootを使ってELFオブジェクトをロードして、
そのエントリへジャンプさせたいのですが、
以下のようにentry(80004470)とは違うアドレスにjump(800cb1400)しているように見えます。

hpcbootはこの辺りどのような仕組みになっているのでしょうか?

PCBOOT--------
sysinfo.dwPageSize = 1024
MemoryManager: LockPages
FileManager: FAT
[0] 0x80000000 size 0x04000000
GetVersionEx
Windows CE 2.11
GetSystemInfo:
wProcessorArchitecture      0x1
dwPageSize                  0x400
dwAllocationGranularity     0x00010000
dwProcessorType             0xfa0
wProcessorLevel             0x4
wProcessorRevision          0xc52
Display: 240x320 2bpp
VR41
Loader: ELF
file size: +0x188dd8+0x47000+[(symbol block: header 1148 string 140561 symbol 14
4608 byte) = 0x45e70] = 0x215e70 byte
address translation table 2176 pages.(17408 byte)
allocated 2176 page. mapped 2176 page.
2nd bootloader vaddr=0x002bfc00 paddr=0x00cb1400
2nd bootloader copy done.
[1] vaddr 0x80004000 file size 0x188dd8 mem size 0x188dd8
        ->load 0x80004000+0x00188dd8=0x8018cdd8 ofs=0x00001000+0x188dd8
[2] vaddr 0x8018e000 file size 0x47000 mem size 0x5d4c0
        ->load 0x8018e000+0x0005d4c0=0x801eb4c0 ofs=0x0018a000+0x47000
[zero clear] ->0x801d5000+0x000164c0=0x801eb4c0
        ->load 0x801eb4c0+0x0000047c=0x801eb93c
        ->load 0x801eb93c+0x00022511=0x8020de4d ofs=0x002a533c+0x22511
        ->load 0x8020de50+0x000234e0=0x80231330 ofs=0x00281e5c+0x234e0
load link 2170 zero clear link 1.
kernel entry address: 0x80004470
framebuffer: 240x320 type=2 linebytes=0 addr=0x00000000
console = 2
jump to 0x80cb1400 (info=0x80cb1000, pvec=0x80a91800)