Why wrap into #ifdefs? I thought it's supposed to be runtime, not compile time.
WBR, Aleksey.
On Oct 1, 2008, at 3:54 PM, hyperion@svn.reactos.org wrote:
Author: hyperion Date: Wed Oct 1 06:54:29 2008 New Revision: 36610
URL: http://svn.reactos.org/svn/reactos?rev=36610&view=rev Log: modified ke/i386/cpu.c Added CMPXCHG8B enabling/detection code for TransMeta, Centaur and Rise (source: <URL: http://www.geoffchappell.com/notes/windows/ kernel/cpu/cx8.htm>). Code dead until each vendor will be officially supported Alex and others: please review
Aleksey Bragin wrote:
Why wrap into #ifdefs? I thought it's supposed to be runtime, not compile time.
Because CPU_TRANSMETA, CPU_CENTAUR and CPU_RISE aren't defined yet, and the identification routine returns zero instead when those vendors are detected. As soon as each CPU vendor id is defined, its respective initialization code will be enabled. I don't know what initialization code is required, other than detecting/enabling CMPXCHG8B, and I don't have any CPUs of said vendors to test it anyway, so I won't enable support for them myself