Re: [PATCH] x86: don't allow KVM_CLOCK without HAVE_KVM

Avi Kivity
2008-03-16T11:13:08Z

> From: Randy Dunlap <randy.dunlap@oracle.com>
>
> Make KVM_CLOCK depend on HAVE_KVM. Otherwise a Voyager build can
> fail with:
>
> CC arch/x86/kernel/asm-offsets.s
> In file included from include2/asm/irqflags.h:59,
> from /local/linsrc/next-20080314/include/linux/irqflags.h:46,
> from include2/asm/system.h:11,
> from include2/asm/processor.h:21,
> from include2/asm/atomic_32.h:5,
> from include2/asm/atomic.h:2,
> from /local/linsrc/next-20080314/include/linux/crypto.h:20,
> from /local/linsrc/next-20080314/arch/x86/kernel/asm-offsets_32.c:7,
> from /local/linsrc/next-20080314/arch/x86/kernel/asm-offsets.c:2:
> include2/asm/paravirt.h: In function 'startup_ipi_hook':
> include2/asm/paravirt.h:856: error: 'struct pv_apic_ops' has no member named 'startup_ipi_hook'
> include2/asm/paravirt.h:856: error: 'struct pv_apic_ops' has no member named 'startup_ipi_hook'
> include2/asm/paravirt.h:856: error: memory input 4 is not directly addressable
> make[2]: *** [arch/x86/kernel/asm-offsets.s] Error 1
> make[1]: *** [prepare0] Error 2
> make: *** [sub-make] Error 2
>
>

Looks like it's a general paravirt vs voyager issue, nothing kvmclock
specific about it. Wouldn't it be better to have voyager and paravirt
mutually exclude each other, rather than every paravirt user?

HAVE_KVM is intended for the host, not the guest, btw.