On 9 September 2014 20:17, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 9 September 2014 19:15, Ard Biesheuvel <ard.biesheu...@linaro.org> wrote: >> On 9 September 2014 20:08, Peter Maydell <peter.mayd...@linaro.org> wrote: >>> (Thinking about it, that implies we either need a >>> rom_del_blob() or we need to tell load_dtb() about >>> areas of address space it needs to check for overlap >>> with before it registers the rom blob for the dtb.) >>> >> >> ... or we just call load_elf() again > > That won't work, because we'll still trip the overlap > check in rom_load_all(), won't we? >
Yeah, you're right. My fingers are moving faster than my brain again I will go ahead and rework load_dtb() to take a max_size parameter, and load the dtb only if its size doesn't exceed max_size. This should be sufficient to (a) implement the ELF case, and (b) not complicate the other call sites too much