On 04/10/2011 08:49 AM, Hamo wrote:
Dear lists,
I have be studying CBFS filesystem these days. Since coreboot only
supports IA32 architecture now, the CBFS has hard-coded boot address
and all the boot-related code and master header are located at around
0xFFFFFFF0. But as ARM read their first instruction at 0x0, we need
change the CBFS filesystem but not destroy IA32 support. When porting
to ARM, how should the rom be organized? I have 2 ideas:
1. Totally rewrite the CBFS structure on ARM according to that one on
IA32 to meet the requirement of ARM architecture, including move the
reset code and bootblock to the start of ROM(at address 0x0) and put
all the other components follow them. In this way, we should rewrite
the CBFStool and add a new option to CBFStool to tell it the
architecture we are using.
2. Use the same structure on IA32 architecture but set the master
header's offset to other value than 0x0 so that we can put boot code
at the start of rom.
Which one should I take or Do we have any better choice?
Hope for your help.

How about spitting up the code using pre-processing directives? One for arm and one for IA32? Just a thought.

--
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org

--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to