This series of patches is a module that exports Xen Hypervisor attributes
to sysfs. The directory structure created is:
+---sys
+---hypervisor
+---xen
+---version
+---major
+---minor
+---extra
+---compilation
+---by
+---date
+---compiler
+---properties
+---changeset
+---capabilities
+---virt_start
+---translated_pm
+---writable_dt
+---writable_pt
The xen_sysfs module has a tri-state Kconfig so it can be built-in or
loaded as a module.
The module is in three patches:
Patch 1 (this patch) is a Xen file that is used by all OS kernels that run
on Xen. This includes linux, NetBSD, FreeBSD, Solaris, and others. Patch 1
adds #defined constants so that linux users of this file can avoid typedefs.
Patch 2 (follows) contains the Kconfig changes necessary to add this module
to the kernel build.
Patch 3 (follows) contains the source for the xen_sysfs module itself.
# HG changeset patch
# User [email protected]
# Node ID d296aaf07bcb4141c6dc2a1bfa7d183f919c2167
# Parent a05e56904e7e5e86aae5a2e022621caaf7b3a6f5
define constants for array sizes. Allows linux users of this file
to avoid #typedefs. Existing typedefs work as before.
signed-off-by: Mike D. Day <[email protected]>
diff -r a05e56904e7e -r d296aaf07bcb xen/include/public/version.h
--- a/xen/include/public/version.h Mon Feb 20 23:01:50 2006 +0000
+++ b/xen/include/public/version.h Tue Feb 21 08:11:03 2006 -0500
@@ -1,8 +1,8 @@
/******************************************************************************
* version.h
- *
+ *
* Xen version, type, and compile information.
- *
+ *
* Copyright (c) 2005, Nguyen Anh Quynh <[email protected]>
* Copyright (c) 2005, Keir Fraser <[email protected]>
*/
@@ -17,6 +17,7 @@
/* arg == xen_extraversion_t. */
#define XENVER_extraversion 1
+#define XENVER_EXTRAVERSION_LEN 16
typedef char xen_extraversion_t[16];
/* arg == xen_compile_info_t. */
@@ -29,9 +30,11 @@ typedef struct xen_compile_info {
} xen_compile_info_t;
#define XENVER_capabilities 3
+#define XENVER_CAPABILITIES_INFO_LEN 1024
typedef char xen_capabilities_info_t[1024];
#define XENVER_changeset 4
+#define XENVER_CSET_INFO_LEN 64
typedef char xen_changeset_info_t[64];
#define XENVER_platform_parameters 5
> +---compilation
> +---by
> +---date
> +---compiler
not sure this is really useful info ;)
On 21 Feb 2006, at 14:36, Mike D. Day wrote:
> # HG changeset patch
> # User [email protected]
> # Node ID d296aaf07bcb4141c6dc2a1bfa7d183f919c2167
> # Parent a05e56904e7e5e86aae5a2e022621caaf7b3a6f5
> define constants for array sizes. Allows linux users of this file to
> avoid #typedefs. Existing typedefs work as before.
> signed-off-by: Mike D. Day <[email protected]>
I took this patch, but renamed the xxx_LEN macros to more closely match
the typedef names.
-- Keir
> Patch 1 (this patch) is a Xen file that is used by all OS kernels that run
> on Xen. This includes linux, NetBSD, FreeBSD, Solaris, and others. Patch 1
> adds #defined constants so that linux users of this file can avoid
> typedefs.
No way we're gonna put in that crap. If you want linux to support Xen
add a set of sane linux-style headers for linux use. What you use
in the hypevisor or for other operating systems doesn't matter at all.
On Tue, Feb 21, 2006 at 09:36:35AM -0500, Mike D. Day wrote:
> +---properties
> +---changeset
Just curious, but what is a "changeset"?
> The xen_sysfs module has a tri-state Kconfig so it can be built-in or
> loaded as a module.
>
> The module is in three patches:
This patch has it's leading spaces eaten by your email client and can
not be applied :(
> diff -r a05e56904e7e -r d296aaf07bcb xen/include/public/version.h
> --- a/xen/include/public/version.h Mon Feb 20 23:01:50 2006 +0000
> +++ b/xen/include/public/version.h Tue Feb 21 08:11:03 2006 -0500
> @@ -1,8 +1,8 @@
> /******************************************************************************
> * version.h
> - *
> + *
> * Xen version, type, and compile information.
> - *
> + *
> * Copyright (c) 2005, Nguyen Anh Quynh <[email protected]>
> * Copyright (c) 2005, Keir Fraser <[email protected]>
> */
> @@ -17,6 +17,7 @@
>
> /* arg == xen_extraversion_t. */
> #define XENVER_extraversion 1
> +#define XENVER_EXTRAVERSION_LEN 16
> typedef char xen_extraversion_t[16];
Shouldn't the typedef use the #define in it, so that if you change it,
the array size is properly changed too?
thanks,
greg k-h