On 8/8/07, Andi Kleen <ak@xxxxxxx> wrote: > > > +#ifdef CONFIG_PARAVIRT > > +#include <asm/paravirt.h> > > +# ifdef CONFIG_X86_VSMP > > +static inline int raw_irqs_disabled_flags(unsigned long flags) > > +{ > > + return !(flags & X86_EFLAGS_IF) || (flags & X86_EFLAGS_AC); > > +} > > +# else > > +static inline int raw_irqs_disabled_flags(unsigned long flags) > > +{ > > + return !(flags & X86_EFLAGS_IF); > > +} > > +# endif > > You should really turn the vsmp special case into a paravirt client first > instead of complicating all this even more. Looking at it more carefully, it turns out that those functions are not eligible for being paravirt clients. They do no privileged operation at all. In fact, all they do is bit manipulation. That said, the code got a little bit cleaner by moving them down, and so I did. But later on, you voiced concern about making CONFIG_PARAVIRT depend on !VSMP. (and said it would be okay, because these functions would be paravirt clients: but they won't) Given this updated picture, what's your position about this? Again, as they don't do anything besides bit manipulation, I don't think they will stop VSMP from working with PARAVIRT. -- Glauber de Oliveira Costa. "Free as in Freedom" http://glommer.net "The less confident you are, the more serious you have to act." _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization