[OpenBIOS] Latest SPARC64 & Milax update
Mark Cave-Ayland
mark.cave-ayland at siriusit.co.uk
Sun Jan 3 11:09:39 CET 2010
Igor Kovalenko wrote:
> Seems to be no need to go with assembly yet. With the following change
> you can try executing
>
> elf-entry @ " (go)" evaluate
>
> like ppc implementation of 'go' does. It would start executing elf code.
> Unfortunately it would crash with unhandled divide by zero trap
> which I still cannot find a reason for.
This is also assuming that you remove the ofmem_claim() call from
elf_loader_init_program()?
The link that Blue sent through for the SPARC OF bindings mentions the
following in section 5.1.2 for ELF executables:
The program image immediately follows the header. After recognizing this
header, load allocates and maps bf_text + bf_data + bf_bss bytes of
memory beginning at the address given by bf_origin, moves the program
image, of size bf_text + bf_data, to that address, and zeroes
bf_bss bytes of memory beginning at bf_origin + bf_text + bf_data.
This does seem to look roughly what happens in elf_loader_init_program()
to my untrained eye. However the document also references various trap
table/register setups required as well as interactions between the
client image and OF which we may be missing.
ATB,
Mark.
--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063
Sirius Labs: http://www.siriusit.co.uk/labs
More information about the OpenBIOS
mailing list