diff -r ad9bbd103034 xen/arch/x86/domctl.c --- a/xen/arch/x86/domctl.c Fri Feb 09 18:19:24 2007 +0000 +++ b/xen/arch/x86/domctl.c Wed Feb 14 15:42:34 2007 +0100 @@ -398,6 +398,7 @@ long arch_do_domctl( put_domain(d); } + break; case XEN_DOMCTL_get_address_size: { @@ -407,11 +408,16 @@ long arch_do_domctl( if ( (d = get_domain_by_id(domctl->domain)) == NULL ) break; + printk("%s: offset %zd\n", __FUNCTION__, offsetof(struct xen_domctl, u.address_size.size)); domctl->u.address_size.size = BITS_PER_GUEST_LONG(d); ret = 0; put_domain(d); - } + + if (copy_to_guest(u_domctl, domctl, 1)) + ret = -EFAULT; + } + break; default: ret = -ENOSYS;