ia64/xen-unstable

changeset 5405:9b7aea0fb25c

bitkeeper revision 1.1668.1.8 (42a8ab2d2hMDGWkEyEFVRMJaIQWGdQ)

Add floating-point save/restore support on domain switch
Signed-off by: Dan Magenheimer <dan.magenheimer@hp.com>
author djm@kirby.fc.hp.com
date Thu Jun 09 20:48:45 2005 +0000 (2005-06-09)
parents 9ea1f1f71313
children 92c494888b87
files xen/arch/ia64/domain.c xen/arch/ia64/xensetup.c xen/include/asm-ia64/xensystem.h
line diff
     1.1 --- a/xen/arch/ia64/domain.c	Thu Jun 09 20:21:50 2005 +0000
     1.2 +++ b/xen/arch/ia64/domain.c	Thu Jun 09 20:48:45 2005 +0000
     1.3 @@ -406,6 +406,7 @@ printk("new_thread, about to call dom_fw
     1.4  printk("new_thread, done with dom_fw_setup\n");
     1.5  	// don't forget to set this!
     1.6  	v->vcpu_info->arch.banknum = 1;
     1.7 +	memset(v->arch._thread.fph,0,sizeof(struct ia64_fpreg)*96);
     1.8  }
     1.9  #endif // CONFIG_VTI
    1.10  
     2.1 --- a/xen/arch/ia64/xensetup.c	Thu Jun 09 20:21:50 2005 +0000
     2.2 +++ b/xen/arch/ia64/xensetup.c	Thu Jun 09 20:48:45 2005 +0000
     2.3 @@ -218,6 +218,9 @@ void start_kernel(void)
     2.4  
     2.5      init_frametable();
     2.6  
     2.7 +    ia64_fph_enable();
     2.8 +    __ia64_init_fpu();
     2.9 +
    2.10      alloc_dom0();
    2.11  #ifdef DOMU_BUILD_STAGING
    2.12      alloc_domU_staging();
     3.1 --- a/xen/include/asm-ia64/xensystem.h	Thu Jun 09 20:21:50 2005 +0000
     3.2 +++ b/xen/include/asm-ia64/xensystem.h	Thu Jun 09 20:48:45 2005 +0000
     3.3 @@ -50,6 +50,8 @@ extern struct task_struct *vmx_ia64_swit
     3.4  } while (0)
     3.5  #else // CONFIG_VTI
     3.6  #define __switch_to(prev,next,last) do {							 \
     3.7 +	ia64_save_fpu(prev->arch._thread.fph);							\
     3.8 +	ia64_load_fpu(next->arch._thread.fph);							\
     3.9  	if (IA64_HAS_EXTRA_STATE(prev))								 \
    3.10  		ia64_save_extra(prev);								 \
    3.11  	if (IA64_HAS_EXTRA_STATE(next))								 \