[coreboot] First thought on how to porting coreboot to ARM, comments are very welcome
marcj303 at gmail.com
Mon Jun 13 19:24:36 CEST 2011
On Sat, Jun 11, 2011 at 7:27 AM, Hamo <hamo.by at gmail.com> wrote:
> Dear lists,
> First of all, let me say thanks to Stefan for his patch and help on
> porting. Without his patch, I couldn't figure out what shall I do and
> what to do with CBFS on ARM. Following is the first thought on how to
> implement it, justing using qemu-arm (versatilepb) as an example.
> After power on, At 0x0, start execution at reset from
> src/cpu/arm/arm926ejs/start.S. It will simply jump to the actual start
> code. Following, it will set CPU to SVC32 mode and do some basic setup
> then go toboard-specific lowlevel_init function to init the ram. After
> that, ram is ready to use. Because it is easier initing ram than X86,
> no romstage needed. After set the sp pointer, we move to CBFS and find
> the ramstage then move it to ram and run it.
> We do some init in ramstage and then move to payload.
> src/mainboard/emulation/qemu-arm will be the dir for this board. In
> this dir, Kconfig will set some configs for this board, including CPU
> and its variant type, rambase address of this board and so on.
> lowlevel.S will be the place where ram and console init code placed.
> src/arch/arm will be the key dir that holds arm-specific lib, headers
> and Makefile just like X86's.
> src/cpu/arm/arm926ejs is for all cpu that uses arm926ejs core. CPU
> variant will be a subdir under this dir and holding CPU
> variant-specific lib and headers.
This seems like a reasonable layout. Do you have any specific concerns
about the implementation?
More information about the coreboot