On 2013-12-17 11:35, Paolo Bonzini wrote: > Il 16/12/2013 10:57, Jan Kiszka ha scritto: >> Add missing include of desc.h for prototypes of setup_idt and >> set_idt_entry and cast away the volatile of ipi_data - it's not volatile >> while we run the IPI handler. >> >> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> > > The right fix is to change the declaration from > > static volatile void *ipi_data; // Pointer to volatile void > > to > > static void *volatile ipi_data; // Volatile pointer to void Indeed, find v2 below. Jan ---8<--- Add missing include of desc.h for prototypes of setup_idt and set_idt_entry and adjust type of ipi_data to what it should actually be: a volatile pointer the a void. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> --- lib/x86/smp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/x86/smp.c b/lib/x86/smp.c index d4c8106..1eb49f2 100644 --- a/lib/x86/smp.c +++ b/lib/x86/smp.c @@ -3,6 +3,7 @@ #include "smp.h" #include "apic.h" #include "fwcfg.h" +#include "desc.h" #define IPI_VECTOR 0x20 @@ -10,7 +11,7 @@ typedef void (*ipi_function_type)(void *data); static struct spinlock ipi_lock; static volatile ipi_function_type ipi_function; -static volatile void *ipi_data; +static void *volatile ipi_data; static volatile int ipi_done; static volatile bool ipi_wait; static int _cpu_count; -- 1.8.1.1.298.ge7eed54 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html