| d4296887 | 19-Sep-2013 |
Andre Przywara <andre.przywara@linaro.org> |
ARM: extend non-secure switch to also go into HYP mode
For the KVM and XEN hypervisors to be usable, we need to enter the kernel in HYP mode. Now that we already are in non-secure state, HYP mode sw
ARM: extend non-secure switch to also go into HYP mode
For the KVM and XEN hypervisors to be usable, we need to enter the kernel in HYP mode. Now that we already are in non-secure state, HYP mode switching is within short reach.
While doing the non-secure switch, we have to enable the HVC instruction and setup the HYP mode HVBAR (while still secure).
The actual switch is done by dropping back from a HYP mode handler without actually leaving HYP mode, so we introduce a new handler routine in our new secure exception vector table.
In the assembly switching routine we save and restore the banked LR and SP registers around the hypercall to do the actual HYP mode switch.
The C routine first checks whether we are in HYP mode already and also whether the virtualization extensions are available. It also checks whether the HYP mode switch was finally successful. The bootm command part only calls the new function after the non-secure switch.
Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
show more ...
|
| fe1378a9 | 21-Sep-2013 |
Jeroen Hofstee <jeroen@myspectrum.nl> |
ARM: use r9 for gd
To be more EABI compliant and as a preparation for building with clang, use the platform-specific r9 register for gd instead of r8.
note: The FIQ is not updated since it is not u
ARM: use r9 for gd
To be more EABI compliant and as a preparation for building with clang, use the platform-specific r9 register for gd instead of r8.
note: The FIQ is not updated since it is not used in u-boot, and under discussion for the time being.
The following checkpatch warning is ignored: WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
show more ...
|
| fbf87b18 | 11-Jun-2013 |
Albert ARIBAUD <albert.u.boot@aribaud.net> |
arm: optimize relocate_code routine
Use section symbols directly Drop support for R_ARM_ABS32 record types Eliminate unneeded intermediate registers Optimize relocation table iteration
Signed-off-b
arm: optimize relocate_code routine
Use section symbols directly Drop support for R_ARM_ABS32 record types Eliminate unneeded intermediate registers Optimize relocation table iteration
Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Tested-by: Lubomir Popov <lpopov@mm-sol.com> Tested-by: Jeroen Hofstee <jeroen@myspectrum.nl> Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
show more ...
|
| 47bd65ef | 11-Jun-2013 |
Albert ARIBAUD <albert.u.boot@aribaud.net> |
arm: make __rel_dyn_{start, end} compiler-generated
This change is only done where needed: some linker scripts may contain relocation symbols yet remain unchanged.
__rel_dyn_start and __rel_dyn_end
arm: make __rel_dyn_{start, end} compiler-generated
This change is only done where needed: some linker scripts may contain relocation symbols yet remain unchanged.
__rel_dyn_start and __rel_dyn_end each requires its own output section; putting them in relocation sections changes their flags and breaks relocation.
Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Tested-by: Lubomir Popov <lpopov@mm-sol.com> Tested-by: Jeroen Hofstee <jeroen@myspectrum.nl> Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
show more ...
|
| d026dec8 | 11-Jun-2013 |
Albert ARIBAUD <albert.u.boot@aribaud.net> |
arm: make __image_copy_{start, end} compiler-generated
This change is only done where needed: some linker scripts may contain __image_copy_{start,end} yet remain unchanged.
Also, __image_copy_end n
arm: make __image_copy_{start, end} compiler-generated
This change is only done where needed: some linker scripts may contain __image_copy_{start,end} yet remain unchanged.
Also, __image_copy_end needs its own section; putting it in relocation sections changes their flags and makes relocation break.
Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Tested-by: Lubomir Popov <lpopov@mm-sol.com> Tested-by: Jeroen Hofstee <jeroen@myspectrum.nl> Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
show more ...
|