ia64/xen-unstable

changeset 9628:0037e3e4da08

Do not accept empty definition of __XEN_INTERFACE_VERSION__
in xen-compat.h. It leads to building a broken kernel image
where the kernel sources end up using an unexpected interface
version. In the case of Linux, the kernel expects to use
the new sched_op() hypercall but ends up calling the
legacy hypercall -- this breaks poll, reboot, and save/restore.

A more acceptable patch would be to detect the empty
definition in xen-compat.h and give a reasonable #error message
to fail the build: the current error message is confusing.

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Fri Apr 07 09:57:36 2006 +0100 (2006-04-07)
parents 0010df11836d
children 050ad9813cdb
files xen/include/public/xen-compat.h
line diff
     1.1 --- a/xen/include/public/xen-compat.h	Fri Apr 07 00:32:54 2006 +0100
     1.2 +++ b/xen/include/public/xen-compat.h	Fri Apr 07 09:57:36 2006 +0100
     1.3 @@ -14,11 +14,8 @@
     1.4  #if defined(__XEN__)
     1.5  /* Xen is built with matching headers and implements the latest interface. */
     1.6  #define __XEN_INTERFACE_VERSION__ __XEN_LATEST_INTERFACE_VERSION__
     1.7 -#elif (__XEN_INTERFACE_VERSION__ - 0) == 0
     1.8 +#elif !defined(__XEN_INTERFACE_VERSION__)
     1.9  /* Guests which do not specify a version get the legacy interface. */
    1.10 -#ifdef __XEN_INTERFACE_VERSION__
    1.11 -#undef __XEN_INTERFACE_VERSION__
    1.12 -#endif
    1.13  #define __XEN_INTERFACE_VERSION__ 0x00000000
    1.14  #endif
    1.15