ia64/xen-unstable

changeset 4309:3f1da48d663a

bitkeeper revision 1.1236.25.35 (42434291-xqRgr7TV4lWMs8BiZpDpQ)

Merge http://djm@sportsman//home/djm/xeno-unstable-ia64.bk
into djmnc4000.(none):/home/djm/src/xen/xeno-unstable-ia64.bk
author djm@djmnc4000.(none)
date Thu Mar 24 16:30:14 2005 +0000 (2005-03-24)
parents c1cb4b64653c ef494fea7144
children ed466dca1ba7
files xen/arch/ia64/domain.c
line diff
     1.1 --- a/xen/arch/ia64/domain.c	Wed Mar 23 23:38:41 2005 +0000
     1.2 +++ b/xen/arch/ia64/domain.c	Thu Mar 24 16:30:14 2005 +0000
     1.3 @@ -208,6 +208,12 @@ int arch_set_info_guest(struct exec_doma
     1.4  	return 1;
     1.5  }
     1.6  
     1.7 +int arch_final_setup_guest(struct exec_domain *p, full_execution_context_t *c)
     1.8 +{
     1.9 +	dummy();
    1.10 +	return 1;
    1.11 +}
    1.12 +
    1.13  void domain_relinquish_memory(struct domain *d)
    1.14  {
    1.15  	dummy();
    1.16 @@ -397,12 +403,20 @@ int elf_sanity_check(Elf_Ehdr *ehdr)
    1.17  
    1.18  static void copy_memory(void *dst, void *src, int size)
    1.19  {
    1.20 +	int remain;
    1.21 +
    1.22  	if (IS_XEN_ADDRESS(dom0,src)) {
    1.23  		memcpy(dst,src,size);
    1.24  	}
    1.25  	else {
    1.26 -		if (__copy_from_user(dst,src,size))
    1.27 -			printf("incomplete user copy\n");
    1.28 +		printf("About to call __copy_from_user(%p,%p,%d)\n",
    1.29 +			dst,src,size);
    1.30 +		while (remain = __copy_from_user(dst,src,size)) {
    1.31 +			printf("incomplete user copy, %d remain of %d\n",
    1.32 +				remain,size);
    1.33 +			dst += size - remain; src += size - remain;
    1.34 +			size -= remain;
    1.35 +		}
    1.36  	}
    1.37  }
    1.38