On Wed, Feb 15, 2012 at 12:44 AM, Peter Maydell peter.maydell@linaro.org wrote:
On 15 February 2012 00:33, Zygmunt Krynicki zygmunt.krynicki@linaro.org wrote:
Prompted by Paul I've decided to try a bigLITTLE config. My test did not end up very good:
- I've tried the RealView Express A15x1-A7x1 model
NB that I think the plan for big.LITTLE models is to use a prebuilt RTSM, which should look the same as a binary built from the example models, it's just a pre-cooked binary supplied by ARM rather than built by us.
I'm not actually sure exactly why we need a separate model for the b.L work -- but that's what we were given. If I understand correctly, the b.L platform can be built from the generic 7.0 fast models example platforms we have (this is what I was doing before the special pre-built model was available), but it's possible that the two models aren't exactly the same. That said, it shouldn't really matter. Launching the standalone model is almost exactly the same in practice as launching via model_shell.
- It has different options that can be passed to model shell, needles
to say they are not compatible. I tweaked my semihosting line to look like this:
-C coretile.cluster0.cpu0.semihosting-cmd_line="--kernel $KERNEL -- console=ttyAMA0 mem=512M ip=dhcp root=/dev/nfs nfsroot=$NFSROOT,tcp rw earlyprintk $@"
Yeah, the parameters are specific to the components within the model, so they vary depending on the structure of the model.
...but a generic-sounding option like this is highly likely to work on both models. (You mught need a different cluster* prefix, but it will be coretile.*.cpu0.semihosting-cmd_line -- we just need to parameterise it.)
- I did not get the kernel to boot at all, I suspect that our boot
wrapper is not compatible or I mis-configured the kernel or something in between. I did not even get a X11 terminal window as I usually always get.
Yes, we've been clear for some time that the bootwrapper needs changes to work with big.LITTLE (in fact I'm not entirely sure whether the switcher code counts as part of the 'kernel' or not). Dave probably
The generic bootwrapper and a vanilla VE+A15 kernel should work on the big.LITTLE model. I tried this before trying to get the switcher working.
I'm not sure how generic the bootwrapper used for KVM actually is, at this point (...?)
knows more about the status here (I suspect there's some working code somewhere, just maybe not in the git.linaro.org boot-wrapper or whichever kernel you tried).
The vanilla bootwrapper from linux-arm.org ought to work -- it's possible that the KVM version tries to poke actual hardware which isn't there in the b.L model. I was also using a separate kernel tree (git://git.linaro.org/people/dmart/linux-3-arm arm/vexpressdt-rtsm, built with the vexpress_rtsm_defconfig. This kernel needs a device tree, which you must pass using zImage dtb append, since the bootwrapper doesn't support DT yet. However, there is no special reason why we should not be able to use the same tree.)
Cheers ---Dave