On 15 July 2013 01:30, Peter Crosthwaite <peter.crosthwa...@xilinx.com> wrote: > I have patches on list converting the other "setprop" APIs to Error ** based > reporting (as per your suggestion). Once that change happens we will have > two separate error schemes for the one fn. > > For sanity checking user specified values (e.g. command line args) cant it > just be done explicitly as required? It seems to me that this will be the > exception not the rule, as for DTB generation from machine model a fail > here will be a fatal anyway (better handled by Error **). > > if (acells < 2 && addr >= (1ull << 32)) { > fprintf("your address is too big for this dtb"); > } > > LOC looks to be similar and this API gets a little cleaner.
It's trying to allow the arm/boot code to continue to distinguish the two error cases it does currently: * RAM start address doesn't fit [a board model error] * RAM size doesn't fit [a user error for which a specific error message is more friendly and helpful] It's a fatal error in both cases, but the text is different. I guess I could put a special purpose "if scells is 1 and ram_size > 4GB then fail early" check in boot.c... I wanted to catch "user is using a DTB with only 32 bit addresses but tried a big fat RAM size", because some earlier versions of vexpress DTBs did only use 32 bit cells. -- PMM