SUMMARY: CPUTYPE for VIA EPIA M-Series Mini-ITX

Garrett Cooper youshi10 at u.washington.edu
Fri Mar 16 03:41:56 UTC 2007


Jeffrey Goldberg wrote:
> [mailed, posted and bcc'ed to off list respondents]
> 
> 
> First let me quote my original query:
> 
>> I have one of these
>>
>> CPU: VIA C3 Nehemiah (999.52-MHz 686-class CPU)
>>   Origin = "CentaurHauls"  Id = 0x691  Stepping = 1
>>   Features=0x380b035<FPU,DE,TSC,MSR,MTRR,PGE,CMOV,MMX,FXSR,SSE>
>>
>> http://www.via.com.tw/en/products/mainboards/motherboards.jsp?motherboard_id=81 
>>
>>
>> And 6.2-RELEASE p2
>>
>> When I set CPUTYPE=c3 in /etc/make.conf the world seemed to build just 
>> fine, but (at least) gcc ended up broken.  Most compiling attempts 
>> after that ended up with gcc reporting an internal error.
>>
>> Now that I've entered the FreeBSD world and am building everything 
>> from source, I would like to take advantage of that by compiling for 
>> my system.
>>
>> Does anyone have a similar system?  And what CPUTYPE or local tuning 
>> do you recommend?
>>
>> A dmesg for the system is available at
>>
>>   http://ntp0.goldmark.org/temp/dmesg
> 
> I've had two responses telling me that the make.conf defaults are just 
> fine, and two (one off list) recommending i686/pentiumpro.  One for 
> pentiumpro and the other for i686, but as Andreas Rudish helpfully 
> pointed out, those two are probably the same thing.  No one suggested 
> using c3.  In fact, cpghost emphatically stated not to use C3 in make.conf
> 
> Adbullah Ibn Hamad Al-Marri also helpfully directed me for information 
> about safe CFLAGS to
> 
>   http://gentoo-wiki.com/Safe_Cflags
> 
> where the entry for the Via Nehemiah says:
> 
> ==============================================================
>    Nehemiah (C5XL)/C5P (Via)
> 
> CHOST="i686-pc-linux-gnu"
> CFLAGS="-march=i686 -msse -mmmx -O2 -pipe -fomit-frame-pointer"
> CXXFLAGS="${CFLAGS}"
> 
> note: The more recent versions of the C3 do support the cmov instruction 
> and hence -march=i686. If you must be compatible with all VIA C3 
> versions, do not use the settings in this section.
> 
> note: it is also possible to use "-march=c3-2". <-- Comment to this: I 
> got a problem "compiler can't create executables" with this setting.
> 
> note: I had much better luck with -Os than with -O2. The cache on the 
> nehemiah chips is really small, so making the executables small helps 
> more than anything else.
> ==============================================================
> 
> The off list response added
> 
> 
>> - Setting CPUTYPE to pentium, or pentiumpro both work fine.  IIRC,
>>       the C3 designation is Linux-specific and doesn't exist for
>>       FreeBSD.
>>
> 
> If everybody agrees that the c3 designation is unwise to use, then 
> probably the distributed
> 
>    /usr/share/examples/etc/make.conf
> 
> The off list responded gave extremely helpful and detailed information 
> about trimming the kernel for a similar box.  I've already done most of 
> what that recommends.
> 
> In sum, don't use the c3 specification in /etc/make.conf even though the 
> example would suggested otherwise.
> 
> Thanks all for your help
> 
> -j

Indeed. After reading a mock up of the processor is appears that it's an 
Intel 686 clone. See: 
<http://www.digit-life.com/articles2/roundupmobo/via-c3-nehemiah.html> 
(it's a bit old for an article, so I hope you don't mind the dust :)..).

-Garrett


More information about the freebsd-questions mailing list