[PATCH v2 0/3] Delay switch to Non-Secure Hyp until kernel entry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux