highbank: smc change in kernel source breaks qemu booting
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linaro QEMU |
New
|
Undecided
|
Unassigned | ||
qemu-linaro (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
qemu-linaro is no longer able to boot Ubuntu's highbank kernels. I bisected this down to the following changeset in git://kernel.
commit 4627bd9d888bb19
Author: Rob Herring <email address hidden>
Date: Thu Apr 26 11:40:26 2012 -0500
UBUNTU: SAUCE: ARM: highbank: Add smc calls to enable/disable the L2
BugLink: http://
Linux runs in non-secure mode on highbank, so we need secure monitor calls
to enable and disable the PL310.
Signed-off-by: Rob Herring <email address hidden>
Signed-off-by: Ike Panhc <email address hidden>
Acked-by: Bryan Wu <email address hidden>
Signed-off-by: Tim Gardner <email address hidden>
This changeset is in both the current precise and quantal kernels, so neither boot in qemu-linaro at this time. I'm filing this as a qemu-linaro bug instead of a kernel bug as these kernels boot fine on real hardware.
This is reproducible with both qemu-linaro in precise/quantal (w/ the additional highbank fixes in lp:~dannf/qemu-linaro/highbank), as well as latest qemu-linaro from git (top of tree currently at 54ec369).
The attached patch will fix the problem, but this is probably not an acceptable fix for upstream. It assumes that implementing the smc call as a nop would work for all cases. On the the other hand, it does allow the common case of enabling the L2 cache on highbank and omap to work.