Commit 6b64ee02 authored by Ingo Molnar's avatar Ingo Molnar

x86, apic, 32-bit: add self-IPI methods

Impact: fix rare crash on 32-bit

The 32-bit APIC drivers had their send_IPI_self vectors set to NULL,
but ioapic_retrigger_irq() depends on it being always set. Fix it.
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 26f7ef14
...@@ -252,7 +252,7 @@ struct genapic apic_bigsmp = { ...@@ -252,7 +252,7 @@ struct genapic apic_bigsmp = {
.send_IPI_mask_allbutself = NULL, .send_IPI_mask_allbutself = NULL,
.send_IPI_allbutself = bigsmp_send_IPI_allbutself, .send_IPI_allbutself = bigsmp_send_IPI_allbutself,
.send_IPI_all = bigsmp_send_IPI_all, .send_IPI_all = bigsmp_send_IPI_all,
.send_IPI_self = NULL, .send_IPI_self = default_send_IPI_self,
.wakeup_cpu = NULL, .wakeup_cpu = NULL,
.trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW, .trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW,
......
...@@ -786,7 +786,7 @@ struct genapic apic_es7000 = { ...@@ -786,7 +786,7 @@ struct genapic apic_es7000 = {
.send_IPI_mask_allbutself = NULL, .send_IPI_mask_allbutself = NULL,
.send_IPI_allbutself = es7000_send_IPI_allbutself, .send_IPI_allbutself = es7000_send_IPI_allbutself,
.send_IPI_all = es7000_send_IPI_all, .send_IPI_all = es7000_send_IPI_all,
.send_IPI_self = NULL, .send_IPI_self = default_send_IPI_self,
.wakeup_cpu = NULL, .wakeup_cpu = NULL,
......
...@@ -554,7 +554,7 @@ struct genapic apic_numaq = { ...@@ -554,7 +554,7 @@ struct genapic apic_numaq = {
.send_IPI_mask_allbutself = NULL, .send_IPI_mask_allbutself = NULL,
.send_IPI_allbutself = numaq_send_IPI_allbutself, .send_IPI_allbutself = numaq_send_IPI_allbutself,
.send_IPI_all = numaq_send_IPI_all, .send_IPI_all = numaq_send_IPI_all,
.send_IPI_self = NULL, .send_IPI_self = default_send_IPI_self,
.wakeup_cpu = NULL, .wakeup_cpu = NULL,
.trampoline_phys_low = NUMAQ_TRAMPOLINE_PHYS_LOW, .trampoline_phys_low = NUMAQ_TRAMPOLINE_PHYS_LOW,
......
...@@ -116,7 +116,7 @@ struct genapic apic_default = { ...@@ -116,7 +116,7 @@ struct genapic apic_default = {
.send_IPI_mask_allbutself = default_send_IPI_mask_allbutself_logical, .send_IPI_mask_allbutself = default_send_IPI_mask_allbutself_logical,
.send_IPI_allbutself = default_send_IPI_allbutself, .send_IPI_allbutself = default_send_IPI_allbutself,
.send_IPI_all = default_send_IPI_all, .send_IPI_all = default_send_IPI_all,
.send_IPI_self = NULL, .send_IPI_self = default_send_IPI_self,
.wakeup_cpu = NULL, .wakeup_cpu = NULL,
.trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW, .trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW,
......
...@@ -588,7 +588,7 @@ struct genapic apic_summit = { ...@@ -588,7 +588,7 @@ struct genapic apic_summit = {
.send_IPI_mask_allbutself = NULL, .send_IPI_mask_allbutself = NULL,
.send_IPI_allbutself = summit_send_IPI_allbutself, .send_IPI_allbutself = summit_send_IPI_allbutself,
.send_IPI_all = summit_send_IPI_all, .send_IPI_all = summit_send_IPI_all,
.send_IPI_self = NULL, .send_IPI_self = default_send_IPI_self,
.wakeup_cpu = NULL, .wakeup_cpu = NULL,
.trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW, .trampoline_phys_low = DEFAULT_TRAMPOLINE_PHYS_LOW,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment