On Wed, Jul 18, 2007 at 10:40:06PM +0900, Atsushi SAKAI wrote:
Hi, Daniel
?$B!!I checked it and it works fine!
2 point of question (not related to this point)
1)I sometimes rewiriting xen_internal.c in my test environment.
from
xen/linux/privcmd.h
to
xen/sys/privcmd.h
Is there any possibility to change the path?
2)xen-unstable 15482 changes sysctl version(from 3 to 4).
Is there any possibility libvirt to work new sysctl version?
At this moment, libvirt cannot not handle latest xen-unstable.
Looks like a pretty trivial thing to fix
@@ -85,6 +86,23 @@ struct xen_sysctl_physinfo {
uint64_aligned_t free_pages;
uint64_aligned_t scrub_pages;
uint32_t hw_cap[8];
+
+ /* IN/OUT variables. */
+ /*
+ * IN: maximum addressable entry in the caller-provided cpu_to_node array.
+ * OUT: largest cpu identifier in the system.
+ * If OUT is greater than IN then the cpu_to_node array is truncated!
+ */
+ uint32_t max_cpu_id;
+ /*
+ * If not NULL, this array is filled with node identifier for each cpu.
+ * If a cpu has no node information (e.g., cpu not present) then the
+ * sentinel value ~0u is written.
+ * The size of this array is specified by the caller in @max_cpu_id.
+ * If the actual @max_cpu_id is smaller than the array then the trailing
+ * elements of the array will not be written by the sysctl.
+ */
+ XEN_GUEST_HANDLE_64(uint32_t) cpu_to_node;
};
So the struct basically grew 12 bytes larger. I guess libvirt is broken
because we're not passing in a big enough memory block.
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules:
http://search.cpan.org/~danberr/ -=|
|=- Projects:
http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|