Re: Organizing Config Fragments

2013-08-01 Thread Andy Green
On 1 August 2013 14:11, Viresh Kumar  wrote:
> Hi Andrey,
>
> linaro/configs/* is getting bigger and bigger, probably its the right time to
> organize it better for the future. There can be multiple things that we can
> do to avoid confusions of names but for now probably we can create
> separate directories for boards, rootfs & kernel fragments? Or some
> other idea that you might have?

Just a thought these seem to me like they are covering up for missing
"select xxx" in the related Kconfig option (eg, CONFIG_ANDROID), or
stuff that should be in the defconfig (eg, omap4, vexpress).

There's also an issue the fragments are all =y when for
ARCH_MULTIPLATFORM, it implies all things not needed for rootfs mount
need to be =m.

-Andy

> --
> viresh
>
> ___
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev

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


Re: Organizing Config Fragments

2013-08-01 Thread Ryan Harkin
On 1 August 2013 07:57, Andy Green  wrote:
> On 1 August 2013 14:11, Viresh Kumar  wrote:
>> Hi Andrey,
>>
>> linaro/configs/* is getting bigger and bigger, probably its the right time to
>> organize it better for the future. There can be multiple things that we can
>> do to avoid confusions of names but for now probably we can create
>> separate directories for boards, rootfs & kernel fragments? Or some
>> other idea that you might have?
>
> Just a thought these seem to me like they are covering up for missing
> "select xxx" in the related Kconfig option (eg, CONFIG_ANDROID), or
> stuff that should be in the defconfig (eg, omap4, vexpress).

Is the platform specific defconfig still relevant in a multiarch
kernel?  I guess the fragments should adding items missing from the
default multiarch config.  Excuse my ignorance, 'cause I don't know
how multiarch works...

Historically, the main reason for us creating the frags was because of
the platforms (eg, Ubuntu) adding lots of config options that weren't
in the defconfig.  The vexpress defconfig has always been broken.  But
over-riding the defconfig with Ubuntu/Android/whatever options was a
bigger bodge than creating fragments.

So I think they are still important for Linaro's builds.  Escpecially
as we aren't building multiarch kernels for all our platforms yet.


>
> There's also an issue the fragments are all =y when for
> ARCH_MULTIPLATFORM, it implies all things not needed for rootfs mount
> need to be =m.

That's a good point and something we should look into.  We should
really be using multiarch kernels sooner rather than later, right?

>
> -Andy
>
>> --
>> viresh
>>
>> ___
>> linaro-dev mailing list
>> linaro-dev@lists.linaro.org
>> http://lists.linaro.org/mailman/listinfo/linaro-dev
>
> ___
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev

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


Release Critical Test Result Summary of Calendar Week 31,2013 for Linaro Android Jellybean

2013-08-01 Thread Soumya Basak
Here is release critical test result summary of Calendar week 31,2013 for
Linaro android jellybean images on following boards:

1) TI-Panda 4460;
2) TI-Panda 4430;
3) ARM Versatile Express A9;
4)  Samsung Arndale;

1. TI-Panda 4460 + Linaro Android Jellybean 4.2.2 (Column: AU)

https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AkxwyUNxNaAadGVWd3pZazdaRUU0MnRnWmgwbVhTR0E#gid=18

2. TI-Panda 4430 + Linaro Android Jellybean 4.2.2 (Column: AU)

https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AkxwyUNxNaAadGVWd3pZazdaRUU0MnRnWmgwbVhTR0E#gid=17

3.  ARM Versatile Express A9 + Linaro Android Jellybean 4.2.2 (Column: AT)

https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AkxwyUNxNaAadExQdHNxTnR5SFZCQzJnN1ZtQ2ZhWkE#gid=5

4. Samsung Arndale + Linaro Android Jellybean 4.2.2 (Column: E)

https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AuNOCeo15fRHdDFaRmJkWHdNVURtemZObnBWb0tleEE#gid=0

Please see the result spreadsheet for details results and bug reports.

Thanks & Regards
Soumya Basak.
___
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev


Re: Organizing Config Fragments

2013-08-01 Thread Andy Green
On 1 August 2013 16:30, Ryan Harkin  wrote:
> On 1 August 2013 07:57, Andy Green  wrote:
>> On 1 August 2013 14:11, Viresh Kumar  wrote:
>>> Hi Andrey,
>>>
>>> linaro/configs/* is getting bigger and bigger, probably its the right time 
>>> to
>>> organize it better for the future. There can be multiple things that we can
>>> do to avoid confusions of names but for now probably we can create
>>> separate directories for boards, rootfs & kernel fragments? Or some
>>> other idea that you might have?
>>
>> Just a thought these seem to me like they are covering up for missing
>> "select xxx" in the related Kconfig option (eg, CONFIG_ANDROID), or
>> stuff that should be in the defconfig (eg, omap4, vexpress).
>
> Is the platform specific defconfig still relevant in a multiarch
> kernel?  I guess the fragments should adding items missing from the
> default multiarch config.  Excuse my ignorance, 'cause I don't know
> how multiarch works...

It lets you have more than one CONFIG_ARCH_blah at once enabled in the
config and working in the one kernel binary .  You give it one of the
valid dtbs to tell it what it is at runtime.

We use it to have the CONFIG_ARCH_(dual aa9 SoC) and
CONFIG_ARCH_(big.LITTLE SoC) in the same kernel binary so the same
kernel can start up on both platforms.

Once it's started though, it's just bloat to have peripheral drivers
present on only one of the platforms built-in to the monolithic
kernel.  For example those two SoCs have different video IPs, so we
need them to be both built as modules and then use the different
Device Tree definition to bind to just the right module at runtime so
it all works out nicely.

So you do still need to tell the kernel what drivers are relevant to
your combined set of arches, your defconfig needs to reflect that (and
builds everything selected as modules where possible).

> Historically, the main reason for us creating the frags was because of
> the platforms (eg, Ubuntu) adding lots of config options that weren't
> in the defconfig.  The vexpress defconfig has always been broken.  But
> over-riding the defconfig with Ubuntu/Android/whatever options was a
> bigger bodge than creating fragments.

Right I think eg, adding selects to CONFIG_ANDROID in its Kconfig, or
adding CONFIG_ANDROID_TYPICAL to do that and select CONFIG_ANDROID
would soak up some of them anyway.

General Ubuntuesque options I don't know, maybe that's more legit.

> So I think they are still important for Linaro's builds.  Escpecially
> as we aren't building multiarch kernels for all our platforms yet.
>
>>
>> There's also an issue the fragments are all =y when for
>> ARCH_MULTIPLATFORM, it implies all things not needed for rootfs mount
>> need to be =m.
>
> That's a good point and something we should look into.  We should
> really be using multiarch kernels sooner rather than later, right?

I think it makes a lot of sense for each vendor to have their own
stuff building as a single multiarch kernel if possible.  Then you can
just provide one image with one or two kernels (LPAE and non-LPAE
don't play together) plus a lot of modules and dtbs that covers all
the cases.

It will be possible to enable different vendor arches all at the same
time as well, but the different bootloader requirements situation will
scuttle that.  Some combinations will work like Fujitsu AA9 has
bootloader in internal NOR, it can share an SD with OMAP4 using MLO
inside VFAT okay.

At any rate to get the SoC support upstream now you have to meet the
checklist for ARCH_MULTIPLATFORM so it's certainly the way of the
future.

-Andy

>>
>> -Andy
>>
>>> --
>>> viresh
>>>
>>> ___
>>> linaro-dev mailing list
>>> linaro-dev@lists.linaro.org
>>> http://lists.linaro.org/mailman/listinfo/linaro-dev
>>
>> ___
>> linaro-dev mailing list
>> linaro-dev@lists.linaro.org
>> http://lists.linaro.org/mailman/listinfo/linaro-dev

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


Re: Organizing Config Fragments

2013-08-01 Thread John Stultz

On 08/01/2013 01:30 AM, Ryan Harkin wrote:

Historically, the main reason for us creating the frags was because of
the platforms (eg, Ubuntu) adding lots of config options that weren't
in the defconfig.  The vexpress defconfig has always been broken.  But
over-riding the defconfig with Ubuntu/Android/whatever options was a
bigger bodge than creating fragments.


Yes. Config fragments just allow for a distribution to have a consistent 
config policy for non-hardware specific configs (ie: cgroups, debug 
options, filesystem support, etc) on an array of different architectures 
and hardware platforms.


thanks
-john


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


Re: Organizing Config Fragments

2013-08-01 Thread Peter Maydell
On 1 August 2013 09:30, Ryan Harkin  wrote:
> The vexpress defconfig has always been broken.

...maybe we could fix it?

-- PMM

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


Re: Organizing Config Fragments

2013-08-01 Thread Jon Medhurst (Tixy)
On Thu, 2013-08-01 at 17:40 +0100, Peter Maydell wrote:
> On 1 August 2013 09:30, Ryan Harkin  wrote:
> > The vexpress defconfig has always been broken.
> 
> ...maybe we could fix it?

It has been suggested that should be deleted as people can use the
multiplatform defconfig (though I believe that is missing the regulator
config for mmc as well).

People have different ideas where various configs should live, boards
specific defconfig, multiplatform defconfig or in Kconfig; and any
particular change probably would have people arguing against it. And
with vexpress we have the added complication thrown into the mix that
people use it a lot with QEMU ;-)

-- 
Tixy


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


Re: Organizing Config Fragments

2013-08-01 Thread Ryan Harkin
On 1 August 2013 18:46, Jon Medhurst (Tixy)  wrote:
> On Thu, 2013-08-01 at 17:40 +0100, Peter Maydell wrote:
>> On 1 August 2013 09:30, Ryan Harkin  wrote:
>> > The vexpress defconfig has always been broken.
>>
>> ...maybe we could fix it?

Not that we've had this conversation many times before, but, if you
care about it, you are welcome to fix it... ;-)

We (ARMLT) neither own it nor care about it, so we aren't going to fix it.

>
> It has been suggested that should be deleted as people can use the
> multiplatform defconfig (though I believe that is missing the regulator
> config for mmc as well).
>
> People have different ideas where various configs should live, boards
> specific defconfig, multiplatform defconfig or in Kconfig; and any
> particular change probably would have people arguing against it. And
> with vexpress we have the added complication thrown into the mix that
> people use it a lot with QEMU ;-)
>
> --
> Tixy
>

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


Re: Organizing Config Fragments

2013-08-01 Thread Andy Green
On 2 August 2013 01:46, Jon Medhurst (Tixy)  wrote:
> On Thu, 2013-08-01 at 17:40 +0100, Peter Maydell wrote:
>> On 1 August 2013 09:30, Ryan Harkin  wrote:
>> > The vexpress defconfig has always been broken.
>>
>> ...maybe we could fix it?
>
> It has been suggested that should be deleted as people can use the
> multiplatform defconfig (though I believe that is missing the regulator
> config for mmc as well).
>
> People have different ideas where various configs should live, boards
> specific defconfig, multiplatform defconfig or in Kconfig; and any
> particular change probably would have people arguing against it. And

That's probably a correct prediction... but it doesn't mean all of the
solutions are equally good.

I guess nobody outside Linaro with these kernels uses and most don't
even know about the config fragments scripts.  We inherit them from
llct but nobody uses them in Fujitsu.

 - For things fixing a defconfig, or making it appropriate for other
patches added in that kernel, shouldn't we patch the defconfig
directly (via make savedefconfig)?  Then people will use the fix and
you have a fix to suggest upstream.

 - For optional things that follow from enabling a single Kconfig
selection (eg, CONFIG_ANDROID) why not have it enforced at the
selection of that config?

 - For Ubuntize or -->

> with vexpress we have the added complication thrown into the mix that
> people use it a lot with QEMU ;-)

...if there's something special needed for QEMU, maybe the fragments
are the right answer.  Or if it's just lack of models for IP maybe
building the drivers modular anyway and knocking them out in dts
(status="not okay") is the right answer.

However currently they all have a "let's make a fat kernel" =y
approach when our defconfig is more like allmodules, so for us we
can't use any of the fragments meaningfully, so eliminating them
doesn't sound like a bad idea.

-Andy

> --
> Tixy
>
>
> ___
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev

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


Re: Organizing Config Fragments

2013-08-01 Thread Peter Maydell
On 2 August 2013 00:26, Andy Green  wrote:
> On 2 August 2013 01:46, Jon Medhurst (Tixy)  wrote:
>> with vexpress we have the added complication thrown into the mix that
>> people use it a lot with QEMU ;-)
>
> ...if there's something special needed for QEMU, maybe the fragments
> are the right answer.

My general aim is that the kernel that works on h/w should
also work on the QEMU model. In general it does, though we
rely a bit on various driver probe routines gracefully coping
with the device not actually being present. "Somebody put
something new into the kernel and exposed a missing bit
of QEMU emulation support" is also a periodic event, but those
are just bugs that need fixing.

The biggest roadblock I'm seeing at the moment actually is
that there's a big class of problems (which generally
boil down to "wrong kernel config" or sometimes "wrong
QEMU command line arguments") which manifest as "kernel
produces no output". 'common and easy user error' + 'zero
diagnostics' = 'lots of annoying support email' :-)
x86 manages to do much better here because the "everything
looks like a PC" effect means it's much easier for the kernel
to produce output to serial or video very early. It's much
easier to configure an ARM kernel so it doesn't look for the
serial port in the right place or so it falls over before it
gets round to actually being able to output to serial (and
earlyprintk is very hit-and-miss especially in a multiplatform
kernel). I'm not sure there's really a good solution to this
problem, though :-(

-- PMM

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


Re: Organizing Config Fragments

2013-08-01 Thread Andy Green
On 2 August 2013 07:38, Peter Maydell  wrote:
> On 2 August 2013 00:26, Andy Green  wrote:
>> On 2 August 2013 01:46, Jon Medhurst (Tixy)  wrote:
>>> with vexpress we have the added complication thrown into the mix that
>>> people use it a lot with QEMU ;-)
>>
>> ...if there's something special needed for QEMU, maybe the fragments
>> are the right answer.
>
> My general aim is that the kernel that works on h/w should
> also work on the QEMU model. In general it does, though we
> rely a bit on various driver probe routines gracefully coping
> with the device not actually being present. "Somebody put

We have a similar situation with a (non-QEMU) simulator, but it's not
possible to win on that since just probing an empty address will blow
a bus fault.  We have to take the approach to knock out the missing
device instantiations in the dtsi.

> something new into the kernel and exposed a missing bit
> of QEMU emulation support" is also a periodic event, but those
> are just bugs that need fixing.
>
> The biggest roadblock I'm seeing at the moment actually is
> that there's a big class of problems (which generally
> boil down to "wrong kernel config" or sometimes "wrong
> QEMU command line arguments") which manifest as "kernel
> produces no output". 'common and easy user error' + 'zero
> diagnostics' = 'lots of annoying support email' :-)

Right, I can imagine.

> x86 manages to do much better here because the "everything
> looks like a PC" effect means it's much easier for the kernel
> to produce output to serial or video very early. It's much
> easier to configure an ARM kernel so it doesn't look for the
> serial port in the right place or so it falls over before it
> gets round to actually being able to output to serial (and
> earlyprintk is very hit-and-miss especially in a multiplatform
> kernel). I'm not sure there's really a good solution to this
> problem, though :-(

The problem is the bootloader being "flexible" and meddling with the
dtb chosen line to match its private state (bootargs in U-Boot env for
example).  I don't know how to stop U-Boot doing that, since if it
even gets wind that you loaded a dtb image it's all over it meddling.
But if you could stop it, preparing a golden "chosen" commandline in
the dts and telling people to disable bootloader dtb meddling would be
a nice debugging aid.

We use a stub bootloader instead that always uses the chosen already in the dts.

-Andy

> -- PMM

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