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

[Xen-devel] Support for SSE/MMX instructions.


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
  • Date: Thu, 20 Apr 2006 17:37:16 +0200
  • Delivery-date: Thu, 20 Apr 2006 08:37:55 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcZkkE0YaCPhtp1CRbKFTFJMCP+4zA==
  • Thread-topic: Support for SSE/MMX instructions.

One of my collegues tried to run a kernel optimized for K7 in HVM and it
fell over because it tried to do a MOVQ instruction from somewhere in
mmio-space. 

It turned out to be pretty trivial to patch in the instruction length
and decode part of understanding this type of instruction, but the MMX
registers (mm0 - mm7) are not available to the hypervisor without a lot
of munging around (I think calling FPU-save would do it). 

It's worth keeping in mind that the standard kernel that is supplied
with most distro's isn't using any MMX or SSE instructions at all, and
the best option for accessing larger blocks of MMIO space is actually
REP MOVS instructions - but it's also not fair to stop unmodified
kernels from running on the system, even if they use MMX or SSE
instructions, right?

So, this makes two questions:
1. Is anyone else working on anything like this (expanding the valid
instructions that can access memory-mapped IO to include either SSE or
MMX instructions?)
2. Does anyone have a hint on how we best get the MMX and SSE registers
so that they can be accessed in hvm/platform.c?

Gratefully waiting for replies... 

--
Mats


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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