Rework of the x86 irq stack handling:
The irq stack switching was moved out of the ASM entry code in course of
the entry code consolidation. It ended up being suboptimal in various
ways.
- Make the stack switching inline so the stackpointer manipulation is not
longer at an easy to find place. This also gets rid of the unnecessary
indirect calls.
- Avoid the double stack switch in interrupt return and reuse the
interrupt stack for softirq handling
- Provide the necessary objtool changes to handle the inline stack
swizzling.