x86/entry: Reduce the code footprint of the 'idtentry' macro
authorDominik Brodowski <[email protected]>
Wed, 14 Feb 2018 17:59:23 +0000 (18:59 +0100)
committerIngo Molnar <[email protected]>
Sat, 17 Feb 2018 10:14:33 +0000 (11:14 +0100)
commit9e809d15d6b692fa061d74be7aaab1c79f6784b8
tree950462832b5f0153c51a9a72ee1ebc793c91006c
parent42ca8082e260dcfd8afa2afa6ec1940b9d41724c
x86/entry: Reduce the code footprint of the 'idtentry' macro

Play a little trick in the generic PUSH_AND_CLEAR_REGS macro
to insert the GP registers "above" the original return address.

This allows us to (re-)insert the macro in error_entry() and
paranoid_entry() and to remove it from the idtentry macro. This
reduces the static footprint significantly:

   text    data     bss     dec     hex filename
  24307       0       0   24307    5ef3 entry_64.o-orig
  20987       0       0   20987    51fb entry_64.o

Co-developed-by: Linus Torvalds <[email protected]>
Signed-off-by: Dominik Brodowski <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: David Woodhouse <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Josh Poimboeuf <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
[ Small tweaks to comments. ]
Signed-off-by: Ingo Molnar <[email protected]>
arch/x86/entry/calling.h
arch/x86/entry/entry_64.S