x86: ia32: put IRQ stubs into pinned linker section if needed
This changes the ARCH_IRQ_CONNECT() to put the IRQ stubs into pinned linker section if needed. Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit is contained in:
parent
af20208cd9
commit
fb6a929f97
1 changed files with 7 additions and 1 deletions
|
@ -173,6 +173,12 @@ typedef struct s_isrList {
|
|||
*/
|
||||
#define _VECTOR_ARG(irq_p) (-1)
|
||||
|
||||
#ifdef CONFIG_LINKER_USE_PINNED_SECTION
|
||||
#define IRQSTUBS_TEXT_SECTION ".pinned_text.irqstubs"
|
||||
#else
|
||||
#define IRQSTUBS_TEXT_SECTION ".text.irqstubs"
|
||||
#endif
|
||||
|
||||
/* Internally this function does a few things:
|
||||
*
|
||||
* 1. There is a declaration of the interrupt parameters in the .intList
|
||||
|
@ -202,7 +208,7 @@ typedef struct s_isrList {
|
|||
".long 0\n\t" /* ISR_LIST.dpl */ \
|
||||
".long 0\n\t" /* ISR_LIST.tss */ \
|
||||
".popsection\n\t" \
|
||||
".pushsection .text.irqstubs\n\t" \
|
||||
".pushsection " IRQSTUBS_TEXT_SECTION "\n\t" \
|
||||
".global %c[isr]_irq%c[irq]_stub\n\t" \
|
||||
"%c[isr]_irq%c[irq]_stub:\n\t" \
|
||||
"pushl %[isr_param]\n\t" \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue