On Thu, Jul 28, 2011 at 02:44:17PM -0400, Nicolas Pitre wrote:
> On Thu, 28 Jul 2011, Dave Martin wrote:

[...]

> > Currently, device tree is not fully supported upstream for vexpress.
> > Lorenzo Pieralisi wrote some patches, but there were a few outstanding
> > issues and these weren't merged yet.
> > 
> > It could make sense for me to take a look at this, since vexpress is
> > also the base for our initial Cortex-A15 refernece platform.  With
> > the right people around next week, we have a chance to get any issues
> > thrashed out more quickly.
> > 
> > Is this a good idea for next week, or should we be focusing more on
> > core issues?
> 
> DT enablement will also be an important topic next week.  I'm sure 
> you'll be appreciated whatever you work on.

OK, I may spend some time on that then.  Lorenzo will be around for some
of the time too.

> > Some more thoughts:
> >  
> > > 1.1.5) Other weird things
> > > 
> > > Some machines have non linear memory maps or bus address translations, 
> > > sparsemem, etc. Examples of that are:
> > > 
> > > arch/arm/mach-realview/include/mach/memory.h
> > > arch/arm/mach-integrator/include/mach/memory.h
> > > 
> > > I think solving this is out of scope for this round.  Deleting 
> > > arch/arm/mach-*/include/mach/memory.h can't be done universally.  So a 
> > > new Kconfig symbol (NO_MACH_MEMORY_H) is introduced to indicate which 
> > > machine class has its legacy <mach/memory.h> file removed.  The single 
> > > zImage for multiple targets will be restricted, amongst other things, to 
> > > those machines or SOCs with that symbol selected.  Partial result here:
> > > http://git.linaro.org/gitweb?p=people/nico/linux.git;a=shortlog;h=refs/heads/redux
> > 
> > One possibility here is to enable any non-sparsemem platform to be
> > built with sparsemem enabled by just defining a single memory block
> > in this case to encompass the platform's RAM.  I believe that platforms
> > which have small I/O holes in their memory maps can continue to use
> > memblock_reserve techniques as before -- there's no need to represent 
> > the holes via sparsemem (which would be expensive)
> > 
> > Having talked to Will Deacon about this, it sounds like the feasibiltiy
> > and performance impact may depend on how often things like pfn_valid get
> > called when sparsemem is enabled.
> > 
> > Is this worth looking into?
> 
> Certainly, especially given your bias.  ;-)
> 
> The sparsemem might get pretty inefficient if the build time constants 
> such as SECTION_SIZE_BITS can't be relied upon though.

I will try and take a look.

We may find that a lot of platforms can be supported with a single, sane
definition of SECTION_SIZE_BITS.  If they can't all be supported by the
same definition, this at least grows the single zImage kernel scope to
include more platforms.

> > I have a slightly biased interest in this, since ARM seems to like
> > funky memory maps for many of its newer boards, and it would be
> > unfortunate for these to get left out of the whole single effort.
> > 
> > Of course we could include those platforms in non-sparsemem kernels,
> > but since that will often mean sacrificing half the RAM, this is
> > far from ideal.
> 
> Maybe that half could simply be pushed to home.

Eh?

> > LPAE (Seems to fit neatly under "weird things" for now ;)
> > 
> > Do we care strongly about supporting LPAE and non-LPAE platforms
> > in a single kernel?
> 
> No.  I think that would be rather insane.  The page table definitions 
> have deep repercussions all over the place, often in performance critical 
> paths down in core kernel code.  Trying to introduce variable elements 
> which are otherwise build time optimized constants is probably not going 
> to find many followers.

Subtle hint taken ;)

[...]

> > We could even embed the printch() function body into the DT if we
> > wanted to make the kernel's job even simpler.  Realistic implementations
> > of this function are tiny, so this shouldn't be too cumbersome.
> > That really seems an abuse of the DT though, since this goes beyond
> > just describing the hardware.
> 
> Well... I'm not entirely against the idea.  This could be seen as the 
> most efficient way to describe how to output a character over some 
> serial device for the given hardware.  The danger is that some vendors 
> might be tempted to abuse that idea by stuffing BIOS-like services in 
> there that the kernel would have to cope with.

See my reply to Arnd...

It's not high priority anyway.

Cheers
---Dave


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to