The bootwrapper is really doubling as firmware, so it doesn't make
sense for it to drop out of the Secure World before getting a
chance to parse its parameters and configuration.

Instead, it should make sense to delay switching to the Normal
World for as long as possible so that we have a chance to do any
required firmware-level configuration in the Secure World first.

This quick hack is ***completely untested***, since I'm not working
with any suitable kernel tree right now.

If someone with a KVM tree ready to run could give it a try,
that would definitely save me some time.

Review also welcome (naturally)

Changes since v1:

 * Don't rely on preservation of lr or sp across enter_hyp (this
   doesn't work because those registers are banked per-mode).


I'm still not convinced this series works, due image/model/dtb
mismatches in my testing, but execution at least reaches the kernel
now.

Cheers
---Dave

Dave Martin (3):
  bootwrapper: Fix misaligned Hyp mode vector table
  bootwrapper: Refactor entry into Hyp mode to be more reusable
  bootwrapper: Delay switch to Hyp mode until kernel entry

 boot.S        |   58 +++++++++++++++++++++++++++++++++++++-------------------
 semi_loader.h |    6 +++-
 2 files changed, 42 insertions(+), 22 deletions(-)

-- 
1.7.4.1

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Dave Martin (3):
  bootwrapper: Fix misaligned Hyp mode vector table
  bootwrapper: Refactor entry into Hyp mode to be more reusable
  bootwrapper: Delay switch to Hyp mode until kernel entry

 boot.S        |   58 +++++++++++++++++++++++++++++++++++++-------------------
 semi_loader.h |    6 +++-
 2 files changed, 42 insertions(+), 22 deletions(-)

-- 
1.7.4.1


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

Reply via email to