On 01/10/2014 12:39 PM, Kevin O'Connor wrote:
On Thu, Jan 09, 2014 at 01:46:19AM -0600, mrnuke wrote:
It's essential for some ARM SoCs. Allwinner chips like the MMC as their first boot source, and people are very happy with having their firmware and linux on micro SD. It makes the system unbrickable.
Can you expand on this requirement? Do these machines have a regular flash/rom with code that reads the rest of the firmware from the block device, or is some portion of the block device mapped by hardware at startup and that portion is tasked with reading the rest of the firmware off the block device? If so, how big is the initial mapped area?
A blob built-in the SoC reads in some of the firmware (from SD, MMC or SPI, load to SRAM @ 0x0, branch to 0x0). 24 KiB on A10, a little different on A13 and so on. Think of it as the coreboot bootblock. That's all the free ride that you get. romstage and others you have to load manually.