linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] add support for relative references in jump tables
@ 2018-06-27 16:05 Ard Biesheuvel
  2018-06-27 16:06 ` [PATCH 1/5] kernel/jump_label: abstract jump_entry member accessors Ard Biesheuvel
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Ard Biesheuvel @ 2018-06-27 16:05 UTC (permalink / raw)
  To: linux-arm-kernel

This series implements support for emitting the data structures associated
with jump tables as 32-bit relative references instead of absolute
references, which take up more space on builds that target 64-bit
architectures, or implement self relocation [or both].

This series enables it for arm64 and x86, although other architectures
might benefit as well.

Patch #1 does some preparatory refactoring before patch #2 introduces the
generic pieces required for using relative references.

Patch #3 wires everything up for arm64.

For x86, patch #4 applies some preparatory changes for the arch specific
jump label C code, which is a lot more involved than on arm64, which is
why it is split off in this case. Patch #5 wires it up for x86 as well.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com> 
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>

Ard Biesheuvel (5):
  kernel/jump_label: abstract jump_entry member accessors
  kernel/jump_label: implement generic support for relative references
  arm64/kernel: jump_label: switch to relative references
  x86: jump_label: switch to jump_entry accessors
  x86/kernel: jump_table: use relative references

 arch/Kconfig                        |  3 +
 arch/arm64/Kconfig                  |  1 +
 arch/arm64/include/asm/jump_label.h | 16 ++---
 arch/arm64/kernel/jump_label.c      |  6 +-
 arch/x86/Kconfig                    |  1 +
 arch/x86/include/asm/jump_label.h   | 28 +++------
 arch/x86/kernel/jump_label.c        | 43 +++++++------
 include/linux/jump_label.h          | 64 ++++++++++++++++++++
 kernel/jump_label.c                 | 56 ++++++++++-------
 tools/objtool/special.c             |  4 +-
 10 files changed, 145 insertions(+), 77 deletions(-)

-- 
2.11.0

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-06-28  9:37 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-27 16:05 [PATCH 0/5] add support for relative references in jump tables Ard Biesheuvel
2018-06-27 16:06 ` [PATCH 1/5] kernel/jump_label: abstract jump_entry member accessors Ard Biesheuvel
2018-06-28  8:40   ` Peter Zijlstra
2018-06-27 16:06 ` [PATCH 2/5] kernel/jump_label: implement generic support for relative references Ard Biesheuvel
2018-06-28  8:50   ` Peter Zijlstra
2018-06-28  9:02     ` Ard Biesheuvel
2018-06-28  9:04       ` Ard Biesheuvel
2018-06-28  9:25         ` Peter Zijlstra
2018-06-28  9:29           ` Ard Biesheuvel
2018-06-28  9:37             ` Peter Zijlstra
2018-06-27 16:06 ` [PATCH 3/5] arm64/kernel: jump_label: switch to " Ard Biesheuvel
2018-06-28  9:17   ` Will Deacon
2018-06-27 16:06 ` [PATCH 4/5] x86: jump_label: switch to jump_entry accessors Ard Biesheuvel
2018-06-28  9:11   ` Peter Zijlstra
2018-06-28  9:14     ` Ard Biesheuvel
2018-06-27 16:06 ` [PATCH 5/5] x86/kernel: jump_table: use relative references Ard Biesheuvel
2018-06-28  8:31   ` Peter Zijlstra
2018-06-28  8:34     ` Ard Biesheuvel
2018-06-28  9:28       ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).