| 3bf2315f | 27-Nov-2017 |
Andre Przywara <andre.przywara@arm.com> |
UPSTREAM: armv8: shrink exception table code
In the moment our exception entry code needs 34 instructions, so we can't use put it directly into the table entry, which offers "only" 32 instructions t
UPSTREAM: armv8: shrink exception table code
In the moment our exception entry code needs 34 instructions, so we can't use put it directly into the table entry, which offers "only" 32 instructions there. Right now we just put an unconditional branch there, then use a macro to place the 34 instructions *per entry* after that. That effectivly doubles the size of our exception table, which is quite a waste, given that we use it mostly for debugging purposes.
Since the register saving part is actually identical, let's just convert that macro into a function, and "bl" into it directly from the exception slot, of course after having saved at least the original LR. This saves us about 950 bytes of code, which is quite a relief for some tight SPLs, in particular the 64-bit Allwinner ones.
Change-Id: I3d156413396f2a304773ef3a202f73d47cf65531 Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> (cherry picked from commit 78ad457b2dbd0fe6cdc7ea42a69774a72ed007b9)
show more ...
|
| d007e796 | 07-Nov-2017 |
Joseph Chen <chenjh@rock-chips.com> |
arm: armv8: introduce cpu suspend and resume support
Just like linux, it supports cpu save and restore context during enter and exit low power mode. With this patch, cpu is able to suspend with core
arm: armv8: introduce cpu suspend and resume support
Just like linux, it supports cpu save and restore context during enter and exit low power mode. With this patch, cpu is able to suspend with core power off.
Workflow for trap into ATF for system suspend: cpu_suspend -> cpu_do_suspend -> arch specific fn: int (*fn)(unsigned long) -> psci_system_suspend(deliver 'cpu_resume()' address to ATF) -> ATF system suspend <- ATF system resume <- cpu_resume <- cpu_do_resume next instruction
Notice: If needed, you should remember to save and restore GIC by yourself.
Change-Id: I7a7c4989ba0845f5b6880c55a6ea6c47724c99df Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
show more ...
|