Subject: Re: Pentium MMX for NetBSD-current
To: Michael L. VanLoon -- HeadCandy.com <michaelv@mindbender.serv.net>
From: Jeff Grills <jefftep@cs.utexas.edu>
List: current-users
Date: 01/17/1997 09:52:07
Message From: "Michael L. VanLoon -- HeadCandy.com" <michaelv@MindBender.serv.net>
>
>>>>I would like to know that if there is any changes to use Pentium MMX CPU 
>>>>under NetBSD-current. Thanks.
>
>>>MMX is for applications.  The OS shouldn't have to know anything about
>>>it (theoretically, anyway).
>
>>Not quite true; some additional state (whether the FPU hardware is in
>>FPU or MMX mode) will need to be saved on every context switch.
>
>Yeah -- that's what I meant by "theoretically, anyway".  But that's
>just a minor quibble.  And it doesn't keep you from running NetBSD on
>a MMX chip if you don't specifically use the MMX features.


This is inconsistent with what I know of the MMX unit.  MMX processors
are capable of using either the MMX unit or the FPU, but not at the
same time, because the MMX unit registers are overlayed onto the FPU
registers.  The whole reason the MMX unit was overlayed onto the FPU
was so that all existing operating system context-saving code would be
able to be completely compatible with MMX processors.  If the OS
context-saving code had to be updated to save wether the CPU had the
MMX or FPU mode enabled, then it would have be just as easy to add in
code to save a seperate set of registers for the MMX unit, and thus
avoid the need for the overlay of the unit and therefore the exclusion
of one unit when the other was enabled.

This is acutally a pretty sticky issue with me, because Intel would
like to see me use MMX in my current project, but I'm making heavy use
of the FPU, so the context switch between the two may be more costly
than the savings MMX could provide me.

If my arguments  doesn't settle the issue, I should be able to verify
all my claims against the Intel development manuals I have at work.

jefftep