| #
faa7eb0f |
| 13-Jul-2018 |
Joseph Chen <chenjh@rock-chips.com> |
armv8: exceptions: optimize exception regs info
Add arm core registers bits description, it looks like:
Relocate offset = 000000003db55000 * ELR(PC) = 000000000025bd78 * LR = 0000000
armv8: exceptions: optimize exception regs info
Add arm core registers bits description, it looks like:
Relocate offset = 000000003db55000 * ELR(PC) = 000000000025bd78 * LR = 000000000025def4 * SP = 0000000039d4a6b0
* ESR_EL2 = 0000000040732550 EC[31:26] == 001100, Exception from an MCRR or MRRC access IL[25] == 0, 16-bit instruction trapped
* DAIF = 00000000000003c0 D[9] == 1, DBG masked A[8] == 1, ABORT masked I[7] == 1, IRQ masked F[6] == 1, FIQ masked
* SPSR_EL2 = 0000000080000349 D[9] == 1, DBG masked A[8] == 1, ABORT masked I[7] == 0, IRQ not masked F[6] == 1, FIQ masked M[4] == 0, Exception taken from AArch64 M[3:0] == 1001, EL2h
* SCTLR_EL2 = 0000000030c51835 I[12] == 1, Icaches enabled C[2] == 1, Dcache enabled M[0] == 1, MMU enabled
* VBAR_EL2 = 000000003dd55800 * HCR_EL2 = 000000000800003a * TTBR0_EL2 = 000000003fff0000
x0 : 00000000ff300000 x1 : 0000000054808028 x2 : 000000000000002f x3 : 00000000ff160000 x4 : 0000000039d7fe80 x5 : 000000003de24ab0 ...... x28: 0000000039d81ef0 x29: 0000000039d4a910
Change-Id: I828cafc961fdc3fcb2aa08916a7e36f690627313 Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
show more ...
|
| #
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 ...
|
| #
4c2cc7c4 |
| 04-Mar-2016 |
Alexander Graf <agraf@suse.de> |
arm64: Allow exceptions to return
Our current arm64 exception handlers all panic and never return to the exception triggering code.
But if any handler wanted to continue execution after fixups, it
arm64: Allow exceptions to return
Our current arm64 exception handlers all panic and never return to the exception triggering code.
But if any handler wanted to continue execution after fixups, it would need help from the exception handling code to restore all registers.
This patch implements that help. With this code, exception handlers on aarch64 can successfully return to the place the exception happened (or somewhere else if they modify elr).
Signed-off-by: Alexander Graf <agraf@suse.de>
show more ...
|
| #
7682a998 |
| 17-Mar-2015 |
Rob Herring <robh@kernel.org> |
remove unnecessary version.h includes
Various files are needlessly rebuilt every time due to the version and build time changing. As version.h is not actually needed, remove the include.
Signed-off
remove unnecessary version.h includes
Various files are needlessly rebuilt every time due to the version and build time changing. As version.h is not actually needed, remove the include.
Signed-off-by: Rob Herring <robh@kernel.org> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Stefano Babic <sbabic@denx.de> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Marek Vasut <marex@denx.de> Cc: Tom Warren <twarren@nvidia.com> Cc: Michal Simek <monstr@monstr.eu> Cc: Macpaul Lin <macpaul@andestech.com> Cc: Wolfgang Denk <wd@denx.de> Cc: York Sun <yorksun@freescale.com> Cc: Stefan Roese <sr@denx.de> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Simon Glass <sjg@chromium.org> Cc: Philippe Reynes <tremyfr@yahoo.fr> Cc: Eric Jarrige <eric.jarrige@armadeus.org> Cc: "David Müller" <d.mueller@elsoft.ch> Cc: Phil Edworthy <phil.edworthy@renesas.com> Cc: Robert Baldyga <r.baldyga@samsung.com> Cc: Torsten Koschorrek <koschorrek@synertronixx.de> Cc: Anatolij Gustschin <agust@denx.de> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Łukasz Majewski <l.majewski@samsung.com>
show more ...
|
| #
707acd01 |
| 26-Jan-2014 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot-arm
|
| #
7f673c99 |
| 10-Jan-2014 |
Tom Rini <trini@ti.com> |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Bringing in the MMC tree means that CONFIG_BOUNCE_BUFFER needed to be added to include/configs/exynos5-dt.h now.
Conflicts: include/configs/ex
Merge branch 'master' of git://git.denx.de/u-boot-arm
Bringing in the MMC tree means that CONFIG_BOUNCE_BUFFER needed to be added to include/configs/exynos5-dt.h now.
Conflicts: include/configs/exynos5250-dt.h
Signed-off-by: Tom Rini <trini@ti.com>
show more ...
|
| #
0ae76531 |
| 14-Dec-2013 |
David Feng <fenghua@phytium.com.cn> |
arm64: core support
Relocation code based on a patch by Scott Wood, which is: Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: David Feng <fenghua@phytium.com.cn>
|