Hollis Blanchard
2006-Aug-28 15:59 UTC
[Xen-devel] Re: [Xen-changelog] [xen-unstable] Replace dom0_ops hypercall with three new hypercalls:
On Sat, 2006-08-26 at 15:10 +0000, Xen patchbot-unstable wrote:> > >From here on we hope to maintain dom0 kernel compatibility. This > promise is not extended to tool compatibility beyond the existing > guarantee that compatibility will not be broken within a three-level > stable release [3.0.2, 3.0.3, etc.].That''s not going to be true for PowerPC and soon IA64. Because of Xen''s use of pointers for hypercall parameters, we need the kernel to translate virtual addresses to physical addresses. That means any time a new hypercall is introduced to the tools, our kernel needs to change to translate the new data structure. The same thing is true because of the 32/64-bit data structure size changes -- the kernel needs to translate data structures because of that as well. -- Hollis Blanchard IBM Linux Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hollis Blanchard
2006-Sep-05 19:33 UTC
[Xen-devel] [PATCH][XEN] remove include checks from domctl.h and sysctl.h
On Mon, 2006-08-28 at 10:59 -0500, Hollis Blanchard wrote:> On Sat, 2006-08-26 at 15:10 +0000, Xen patchbot-unstable wrote: > > > > >From here on we hope to maintain dom0 kernel compatibility. This > > promise is not extended to tool compatibility beyond the existing > > guarantee that compatibility will not be broken within a three-level > > stable release [3.0.2, 3.0.3, etc.]. > > That''s not going to be true for PowerPC and soon IA64. > > Because of Xen''s use of pointers for hypercall parameters, we need the > kernel to translate virtual addresses to physical addresses. That means > any time a new hypercall is introduced to the tools, our kernel needs to > change to translate the new data structure.Therefore, the following patch is required. Please apply. [XEN] remove include checks from domctl.h and sysctl.h Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> diff -r 2017f6e92bf8 xen/include/public/domctl.h --- a/xen/include/public/domctl.h Thu Aug 31 14:46:28 2006 +0100 +++ b/xen/include/public/domctl.h Tue Sep 05 14:30:11 2006 -0500 @@ -9,10 +9,6 @@ #ifndef __XEN_PUBLIC_DOMCTL_H__ #define __XEN_PUBLIC_DOMCTL_H__ - -#if !defined(__XEN__) && !defined(__XEN_TOOLS__) -#error "domctl operations are intended for use by node control tools only" -#endif #include "xen.h" diff -r 2017f6e92bf8 xen/include/public/sysctl.h --- a/xen/include/public/sysctl.h Thu Aug 31 14:46:28 2006 +0100 +++ b/xen/include/public/sysctl.h Tue Sep 05 14:30:41 2006 -0500 @@ -8,10 +8,6 @@ #ifndef __XEN_PUBLIC_SYSCTL_H__ #define __XEN_PUBLIC_SYSCTL_H__ - -#if !defined(__XEN__) && !defined(__XEN_TOOLS__) -#error "sysctl operations are intended for use by node control tools only" -#endif #include "xen.h" #include "domctl.h" -- Hollis Blanchard IBM Linux Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hollis Blanchard
2006-Sep-05 20:17 UTC
Re: [XenPPC] [Xen-devel] [PATCH][XEN] remove include checks from domctl.h and sysctl.h
On Tue, 2006-09-05 at 14:33 -0500, Hollis Blanchard wrote:> On Mon, 2006-08-28 at 10:59 -0500, Hollis Blanchard wrote: > > On Sat, 2006-08-26 at 15:10 +0000, Xen patchbot-unstable wrote: > > > > > > >From here on we hope to maintain dom0 kernel compatibility. This > > > promise is not extended to tool compatibility beyond the existing > > > guarantee that compatibility will not be broken within a three-level > > > stable release [3.0.2, 3.0.3, etc.]. > > > > That''s not going to be true for PowerPC and soon IA64. > > > > Because of Xen''s use of pointers for hypercall parameters, we need the > > kernel to translate virtual addresses to physical addresses. That means > > any time a new hypercall is introduced to the tools, our kernel needs to > > change to translate the new data structure. > > Therefore, the following patch is required. Please apply. > > [XEN] remove include checks from domctl.h and sysctl.h > Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> > > diff -r 2017f6e92bf8 xen/include/public/domctl.h > --- a/xen/include/public/domctl.h Thu Aug 31 14:46:28 2006 +0100 > +++ b/xen/include/public/domctl.h Tue Sep 05 14:30:11 2006 -0500 > @@ -9,10 +9,6 @@ > > #ifndef __XEN_PUBLIC_DOMCTL_H__ > #define __XEN_PUBLIC_DOMCTL_H__ > - > -#if !defined(__XEN__) && !defined(__XEN_TOOLS__) > -#error "domctl operations are intended for use by node control tools only" > -#endif > > #include "xen.h"A very similar problem hits us when building Linux. Without __XEN__ or __XEN_TOOLS__ defined, Linux gets a __XEN_INTERFACE_VERSION__ of 0, and so the current API will never be used (regardless of what the tools tried to do). Are you intentionally requiring that Linux do this? If so, in which Linux header file would you like this to go? #define __XEN_INTERFACE_VERSION__ __XEN_LATEST_INTERFACE_VERSION__ Or perhaps, since the kernel is acting as a proxy for the tools, you would rather see this? #define __XEN_TOOLS__ -- Hollis Blanchard IBM Linux Technology Center _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Sep-05 21:31 UTC
[Xen-devel] Re: [PATCH][XEN] remove include checks from domctl.h and sysctl.h
On 5/9/06 20:33, "Hollis Blanchard" <hollisb@us.ibm.com> wrote:>> That''s not going to be true for PowerPC and soon IA64. >> >> Because of Xen''s use of pointers for hypercall parameters, we need the >> kernel to translate virtual addresses to physical addresses. That means >> any time a new hypercall is introduced to the tools, our kernel needs to >> change to translate the new data structure. > > Therefore, the following patch is required. Please apply. > > [XEN] remove include checks from domctl.h and sysctl.h > Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>No thanks: we really don''t want inclusion of those header files to slip into use in kernel builds. I suggest limiting your touching of domctl/sysctl to one source file in Linux, and compile that file with -D__XEN_TOOLS__. This will help ensure that you can at least limit the kernel tainting to one (potentially upgradeable) module. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Sep-05 22:10 UTC
Re: [XenPPC] [Xen-devel] [PATCH][XEN] remove include checks from domctl.h and sysctl.h
On 5/9/06 21:17, "Hollis Blanchard" <hollisb@us.ibm.com> wrote:> A very similar problem hits us when building Linux. Without __XEN__ or > __XEN_TOOLS__ defined, Linux gets a __XEN_INTERFACE_VERSION__ of 0, and > so the current API will never be used (regardless of what the tools > tried to do). > > Are you intentionally requiring that Linux do this? If so, in which > Linux header file would you like this to go? > #define __XEN_INTERFACE_VERSION__ __XEN_LATEST_INTERFACE_VERSION__It''s defined for you in drivers/xen/Kconfig. All other arches then fold it into CFLAGS in arch/<arch>/Makefile. This ensures that it is defined absolutely *everywhere*, avoiding the possibility of having it defined as latest versionin one place and zero in an other (which would be really confusing). That''s what I''d recommend for powerpc as well, even though it probably requires you to modify a file that''s otherwise ''Xen clean''.> Or perhaps, since the kernel is acting as a proxy for the tools, you > would rather see this? > #define __XEN_TOOLS__Yes, but only in the file that does the virt-to-phys conversions on the domctl/sysctl interfaces. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel