Bug 9614 - [PATCH] Fix buggy MMX check for non-SSE AMD cpus
Summary: [PATCH] Fix buggy MMX check for non-SSE AMD cpus
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/General (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
Depends on:
Blocks: xorg-7.3
  Show dependency treegraph
Reported: 2007-01-11 10:33 UTC by Dan Williams
Modified: 2007-08-20 15:25 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:

Correctly detect MMX and MMX extensions on AMD and Geode CPUs (615 bytes, patch)
2007-01-11 10:33 UTC, Dan Williams
no flags Details | Splinter Review

Description Dan Williams 2007-01-11 10:33:05 UTC
There are two fixes here:

1) s/result/features - the code needs to be checking 'features' here, not
'result'.  Result is the actual cpuflags; features is the condensed set of
things pixman cares about.  Obviously if MMX = 0x1, (result & MMX) will never
give what we want here since for result the MMX bit is 23.

2) On the AMD Geode processor, which has MMX and MMX extensions, just checking
"AuthenticAMD" is not correct.  We need to check for "Geode by NSC" instead.

Credit for the fixes in this patch goes to:

Marco Gritti <mpg at redhat dot com>
Jordan Crouse <jordan dot crouse at amd dot com>
Comment 1 Dan Williams 2007-01-11 10:33:42 UTC
Created attachment 8372 [details] [review]
Correctly detect MMX and MMX extensions on AMD and Geode CPUs
Comment 2 Søren Sandmann Pedersen 2007-02-06 14:55:09 UTC
Fixed in HEAD, but this should be considered for 7.2 as well,
so adding it as a blocker.

Comment 3 Daniel Stone 2007-02-27 01:35:37 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 4 Adam Jackson 2007-04-08 13:39:51 UTC
Move to 7.3 tracker.
Comment 5 Eric Anholt 2007-08-20 15:25:47 UTC
pushed to 1.3 branch as well.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.