This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Support for SSE/MMX instructions.
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
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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

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


Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>