Really ? I did a quick scan in xen_internal.c , that's the only
place where
the problem might be raised, and found only 3 structure where the problem
was likely to occur: xen_v2s3_getdomaininfolistop, xen_v2d5_cpumap, and
xen_v2_setschedinfo, the two first ones clearly the last one is less clear.
Detecting big-endian vs. little can easilly be done in configure or inherited
from a system include and a couple of
Thats right - after looking around more in detail I also see not more
than the listed places at the moment.
I did not expect that it is only such a small subset, but it is good
that way in reference to the current issue ;-)
struct xen_v2d5_cpumap {
#ifdef LITTLE_ENDIAN
union {
uint8_t *v;
uint64_t pad ALIGN_64;
} bitmap;
#else
struct {
uint8_t *pad;
uint8_t *v;
} bitmap;
#endif
uint32_t nr_cpus;
};
Might be easier to understand than the GUEST_HANDLE complex macros.
[...]
How many places in libvirt are really affected ? I count 3, we use
a
very small subset of the hypercalls, but I may be wrong. If there is really
more places then maybe a macro based mechanism is better maintainance wise
but in any case it would have to be rewritten from scratch to avoid nervosity
from our Xensource friends.
You are right, for the moment it is really sufficient to fix
xen_v2s3_getdomaininfolistop and xen_v2d5_cpumap.
I'll do something that way dependent on configure&ifdef and send a patch
(low prio since we have a workaround in the kernel)
Daniel
BTW here is a short status which libvirt functions are working on xenppc
as seen on my first sniff test:
working
*monitor load
*remove network interface
*remove hard disk
*access serial console
*define existing xen domains from/to xml file
*run/shutdown domains
partially working
*add network device (work but cause a libvirt trace&hang afterwards)
*add hard disk (work but cause a libvirt trace&hang afterwards)
not working
*sometimes xend hangs and only /etc/init.d/xend restart helps,
there are related tracebacks in xend.log
*change number of cpu's
*create virtual network
--
Grüsse / regards,
Christian Ehrhardt
IBM Linux Technology Center, Open Virtualization
+49 7031/16-3385
Ehrhardt(a)linux.vnet.ibm.com
Ehrhardt(a)de.ibm.com
IBM Deutschland Entwicklung GmbH
Vorsitzender des Aufsichtsrats: Johann Weihen
Geschäftsführung: Herbert Kircher
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294