On Wed, Feb 15, 2012 at 2:47 PM, Peter Maydell peter.maydell@linaro.org wrote:
On 15 February 2012 13:38, Dave Martin dave.martin@linaro.org wrote:
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.
My current recommendation for A15-for-KVM is to build and use a standalone ("isim system") model anyway, as it avoids the need to have model_shell available on the systems you want to run the model.
- 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.)
Yes, that is Zygmunt's point: on the A15 model it is cluster.cpu0.semihosting-cmd_line.
- 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.
Yes, but that's not very exciting. I assumed Zygmunt was actually trying to run a big.LITTLE switcher+kernel, not just "boot some random kernel". Otherwise you're not really running big.LITTLE, you're just treating the system as an A15 based one.
Actually I just wanted to boot a naive kernel (the same one that works on plain A15) to see if it still works on a hybrid A14/A7 and it did not. I don't know how the switcher works, where to get it etc.
One thing that I find confusing is where to turn to for all the interesting ARM bleeding edge stuff. The kernel, the switcher (?), configuration, device tree, etc. Then there are KVM topics which I did not want to talk about here (as they are a next step after getting fast models to work).
I'm not sure how generic the bootwrapper used for KVM actually is, at this point (...?)
We haven't deliberately broken anything, but it is missing some features you're probably going to need, with "start kernel in Hyp mode" being the most obvious one.
We can add device tree support as well, I expect (insert complaint here about how you need to be able to understand the DTB blob just to pass the kernel its command line arguments).
-- PMM