[haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541
- From: Christian Packmann <Christian.Packmann@xxxxxx>
- To: haiku-development@xxxxxxxxxxxxx
- Date: Sat, 20 Jun 2009 15:48:21 +0200
Bruno Albuquerque - 2009-06-20 11:43 :
The only problem I see with this is that you are breaking other CPU
descriptions to fix yours and this is not a good fix for obvious reasons
(I have a Core 2 Quad Extreme).
Uhm, I hope to fix all current and future CPU descriptions, not just mine.
Maybe you didn't understand the problem. Currently Haiku will determine
the CPU string only by a CPUs signature, as determined by CPUID function
0x00000001, register EDX. At the moment the CPU signature 0x1067a is
assigned to "Intel Core 2 Extreme" in Haiku. However, this very same
signature is also used by (at least) the following CPUs, according to
Intels Specification Updates:
Core2Duo: E7400, E7500, E7600, E8400, E8500, E8600
Core2Quad: Q8200S, Q8300, Q8400, Q8400S, Q9400, Q9400S, Q9550, Q9550S, Q9650
Xeon: X3320, X3330, X3350, X3360, X3370, X3380
(I didn't bother searching for the Extreme editions)
All these CPUs will be misidentified by Haiku as "Intel Core 2 Extreme".
If the old system should be retained, that should be changed to "Intel
Core 2", because this is basically the only thing all these CPU have in
common. And using the old approach, there's no way that a proper CPU
identification can be done; the CPU signature alone is not sufficient anymore.
My approach would allow using the correct information but also generating
short CPU strings which can be used in the GUI without looking strange
(Pulse, AboutHaiku). Er, that assumes that I'm not alone in thinking that
the default CPU brand strings are fugly to look at. :)
Also, my system adapts to new models automatically, unless the structure
of the brand strings is altered significantly. The only string constants I
use are
"(R)", "(TM)", "(Tm)", "(tm)", "CPU family", "CPU", "processor",
"Processor", "Quad-Core", "Dual Core", " Duo", " Quad", " Extreme"
and
"MHz", "GHz".
All the rest is string processing. This means that any new Intel or AMD
CPU following the current naming scheme will automatically be parsed
correctly. Changes will be required once Octo and Hexadeca CPUs hit, but
even then changes to my code should be easier and more reliable than
hard-coding all the CPU signatures.
And BTW, I just ran two Core2 Extreme brand strings against my algorithm:
Intel(R) Core(TM)2 Extreme CPU X9650 @ 3.00GHz
Intel(R) Core(tm)2 Extreme CPU Q6850 @ 3.00GHz
->
Intel Core2 X9650
Intel Core2 Q6850
Which I hope will be acceptable to you.
Christian
Other related posts:
- » [haiku-development] Fixing get_cpu_model_string(), Ticket 3541- Christian Packmann
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Bruno Albuquerque
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Urias McCullough
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541 - Christian Packmann
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Urias McCullough
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Christian Packmann
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Urias McCullough
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Christian Packmann
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Urias McCullough
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Urias McCullough
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Axel Dörfler
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Axel Dörfler
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Urias McCullough
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Christian Packmann
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Christian Packmann
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Christian Packmann
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Richard Jasmin
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Richard Jasmin
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Stephan Assmus
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- André Braga
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Urias McCullough
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Richard Jasmin
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Richard Jasmin
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Axel Dörfler
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Axel Dörfler
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- André Braga
- » [haiku-development] Re: Fixing get_cpu_model_string(), Ticket 3541- Axel Dörfler