On Tue, 2014-02-11 at 01:10 +0100, Alexander Graf wrote: > - if (memsize) > - print_size(memsize, " left unmapped\n"); > + if (size) > + print_size(size, " left unmapped\n"); > +}
The print_size should move to the caller, with some way to pass back the amout left unmapped. Non-RAM callers would treat a non-zero unmapped value as an error. > +unsigned int > +setup_ddr_tlbs_phys(phys_addr_t p_addr, unsigned int memsize_in_meg) > +{ > + unsigned int ram_tlb_address = (unsigned int)CONFIG_SYS_DDR_SDRAM_BASE; > + u64 memsize = (u64)memsize_in_meg << 20; > + > + memsize = min(memsize, CONFIG_MAX_MEM_MAPPED); > + tlb_map_range(ram_tlb_address, p_addr, memsize, true); > return memsize_in_meg; > } Here you seem to be hiding the message for RAM. York, are you OK with just removing the message altogether, and having tlb_map_range return a normal error code if it can't map everything (with DDR size reduced in advance as above)? > diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h > index cadaeef..5493c51 100644 > --- a/arch/powerpc/include/asm/mmu.h > +++ b/arch/powerpc/include/asm/mmu.h > @@ -509,6 +509,9 @@ extern void print_tlbcam(void); > extern unsigned int setup_ddr_tlbs(unsigned int memsize_in_meg); > extern void clear_ddr_tlbs(unsigned int memsize_in_meg); > > +extern void tlb_map_range(ulong v_addr, phys_addr_t p_addr, uint64_t size, > + bool is_ram); bool arguments tend to be hard to read at call sites -- flags (or enum) with something like MAP_RAM/MAP_IO would be nicer (I'm not insisting, though). -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot