|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Add floating-point save/restore support on domain switch
ChangeSet 1.1668.1.8, 2005/06/09 14:48:45-06:00, djm@xxxxxxxxxxxxxxx
Add floating-point save/restore support on domain switch
Signed-off by: Dan Magenheimer <dan.magenheimer@xxxxxx>
arch/ia64/domain.c | 1 +
arch/ia64/xensetup.c | 3 +++
include/asm-ia64/xensystem.h | 2 ++
3 files changed, 6 insertions(+)
diff -Nru a/xen/arch/ia64/domain.c b/xen/arch/ia64/domain.c
--- a/xen/arch/ia64/domain.c 2005-06-10 14:04:27 -04:00
+++ b/xen/arch/ia64/domain.c 2005-06-10 14:04:27 -04:00
@@ -406,6 +406,7 @@
printk("new_thread, done with dom_fw_setup\n");
// don't forget to set this!
v->vcpu_info->arch.banknum = 1;
+ memset(v->arch._thread.fph,0,sizeof(struct ia64_fpreg)*96);
}
#endif // CONFIG_VTI
diff -Nru a/xen/arch/ia64/xensetup.c b/xen/arch/ia64/xensetup.c
--- a/xen/arch/ia64/xensetup.c 2005-06-10 14:04:27 -04:00
+++ b/xen/arch/ia64/xensetup.c 2005-06-10 14:04:27 -04:00
@@ -218,6 +218,9 @@
init_frametable();
+ ia64_fph_enable();
+ __ia64_init_fpu();
+
alloc_dom0();
#ifdef DOMU_BUILD_STAGING
alloc_domU_staging();
diff -Nru a/xen/include/asm-ia64/xensystem.h b/xen/include/asm-ia64/xensystem.h
--- a/xen/include/asm-ia64/xensystem.h 2005-06-10 14:04:27 -04:00
+++ b/xen/include/asm-ia64/xensystem.h 2005-06-10 14:04:27 -04:00
@@ -50,6 +50,8 @@
} while (0)
#else // CONFIG_VTI
#define __switch_to(prev,next,last) do {
\
+ ia64_save_fpu(prev->arch._thread.fph);
\
+ ia64_load_fpu(next->arch._thread.fph);
\
if (IA64_HAS_EXTRA_STATE(prev))
\
ia64_save_extra(prev);
\
if (IA64_HAS_EXTRA_STATE(next))
\
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Add floating-point save/restore support on domain switch,
BitKeeper Bot <=
|
|
|
|
|