Re: [PATCH 4/7] paravirtualization: Allow selected bug checks to be skipped by paravirt kernels

Jeremy Fitzhardinge
2006-11-01T23:58:21Z

Andrew Morton wrote:
> On Wed, 01 Nov 2006 21:30:43 +1100
> Rusty Russell <rusty@rustcorp.com.au> wrote:
>
>
>> --- a/include/asm-i386/bugs.h
>> +++ b/include/asm-i386/bugs.h
>> @@ -21,6 +21,7 @@
>> #include <asm/processor.h>
>> #include <asm/i387.h>
>> #include <asm/msr.h>
>> +#include <asm/paravirt.h>
>>
>
> In many other places you have
>
> #ifdef CONFIG_PARAVIRT
> #include <asm/paravirt.h>
> ...
>
> But not here.
>
> Making <asm/paravirt.h> invulnerable would be the more typical approach.
CONFIG_PARAVIRT is not being used to guard asm/paravirt.h from multiple
inclusion. In places where it is being used to guard #include
<asm/paravirt.h>, the idea is that asm/paravirt.h defines various
inlines/macros which would otherwise be defined in the header. So, for
example, asm/desc.h would normally define load_gdt() in the
!CONFIG_PARAVIRT case, but asm/paravirt.h defines it when
CONFIG_PARAVIRT is enabled.

In this case, asm/paravirt.h included because we need the definition for
paravirt_enabled(), not because it is replacing any of bugs.h's definitions.

J