diff options
| author | Ard Biesheuvel <[email protected]> | 2022-04-20 08:41:31 +0000 |
|---|---|---|
| committer | Russell King (Oracle) <[email protected]> | 2022-05-20 11:32:32 +0000 |
| commit | 508074607c7b95b24f0adf633fdf606761bb7824 (patch) | |
| tree | 6bb3ce001060faa2c5da3c985e219c10e557330c /fs/jbd2/commit.c | |
| parent | ARM: 9194/1: assembler: simplify ldr_this_cpu for !SMP builds (diff) | |
| download | kernel-508074607c7b95b24f0adf633fdf606761bb7824.tar.gz kernel-508074607c7b95b24f0adf633fdf606761bb7824.zip | |
ARM: 9195/1: entry: avoid explicit literal loads
ARMv7 has MOVW/MOVT instruction pairs to load symbol addresses into
registers without having to rely on literal loads that go via the
D-cache. For older cores, we now support a similar arrangement, based
on PC-relative group relocations.
This means we can elide most literal loads entirely from the entry path,
by switching to the ldr_va macro to emit the appropriate sequence
depending on the target architecture revision.
While at it, switch to the bl_r macro for invoking the right PABT/DABT
helpers instead of setting the LR register explicitly, which does not
play well with cores that speculate across function returns.
Signed-off-by: Ard Biesheuvel <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Russell King (Oracle) <[email protected]>
Diffstat (limited to 'fs/jbd2/commit.c')
0 files changed, 0 insertions, 0 deletions
