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

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



On Mon, 2012-09-17 at 23:04 +0100, Matthew Fioravante wrote:
> 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__

How and when is this symbol defined?

> +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();

The indentation here is a bit suspect.

> +
>      /* 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
> 
> 



_______________________________________________
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®.