[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH mini-os enhancements for vtpm 7/8] add floating point and sse to mini-os



This patch adds floating point and sse support to mini-os by
initializing the floating point unit and the see unit during domain boot up.


Signed of by: Matthew Fioravante matthew.fioravante@xxxxxxxxxx

diff --git a/extras/mini-os/arch/x86/setup.c
b/extras/mini-os/arch/x86/setup.c
--- a/extras/mini-os/arch/x86/setup.c
+++ b/extras/mini-os/arch/x86/setup.c
@@ -74,9 +74,28 @@ shared_info_t *map_shared_info(unsigned long pa)
     return (shared_info_t *)shared_info;
 }
 
+static inline void fpu_init(void) {
+    asm volatile("fninit");
+}
+
+#ifdef __SSE__
+static inline void sse_init(void) {
+    unsigned long status = 0x1f80;
+    asm volatile("ldmxcsr %0" : : "m" (status));
+}
+#else
+#define sse_init()
+#endif
+
 void
 arch_init(start_info_t *si)
 {
+    /*Initialize floating point unit */
+        fpu_init();
+
+        /* Initialize SSE */
+        sse_init();
+
     /* Copy the start_info struct to a globally-accessible area. */
     /* WARN: don't do printk before here, it uses information from
        shared_info. Use xprintk instead. */
@@ -99,6 +118,7 @@ arch_init(start_info_t *si)
         (unsigned long)failsafe_callback, 0);
 #endif
 
+
 }
 
 void


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.