|
FreeBSD General Other questions regarding FreeBSD which do not fit in any of the categories below. |
|
Thread Tools | Display Modes |
|
|||
CPUTYPE for VIA C7-M
Hello, I'm planning to install FreeBSD 7.0 on a HP 2133 Mini-Note. However, I have tried to find the CPUTYPE to use in make.conf and I cannot find a concrete answer.
The closest ones in make.conf seem to be c3 or c3-m but I'm not sure whether that will work on a C7-M type. The Safe CFLAGS on Gentoo-Wiki says "i686" but I'm not sure whether that is a valid CPUTYPE. Searching this forum turns up "native" as an alternative, but there are reports of it not working properly in FreeBSD 7.0 due to some bug. Any ideas? |
|
|||
I know FreeBSD is not the same as Gentoo, but I came across a post on checking out the Safe CFLAGS page here so I'd thought it could give me a clue on what to use.
So, you think I should just leave make.conf alone? Would it make my programs slower than if CPUTYPE was set, or would the difference be minuscule? |
|
|||
Code:
$ dmesg | grep cpu cpu0: <ACPI CPU> on acpi0 est0: <Enhanced SpeedStep Frequency Control> on cpu0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 |
|
||||
If you really want to notice a difference, try FreeBSD amd64 with a pair of high end server CPUs and a crap load of RAM.
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. |
|
||||
Any or all of i686, c3, and c3-2 could be correct for your chip. I can't say which one is correct. If in doubt, use i686 as that will most certainly produce sane, compatible code. One of c3 or c3-2 will likely produce more optimized code, but I have no way to know which would work for you. Study the gcc man page and what it says about it of those options, then compare that data to what you know about the CPU you have.
As someone who knows something about VIA chips, do you happen to know the core model of your chip? I am not as familiar with C7's. One other thing you'll want to remember to do is to enable the Padlock functionality in your kernel by enabling it in your kernel config, or running kldload padlock. Last edited by mdh; 22nd October 2008 at 03:35 AM. |
|
||||
This is because there aren't signifigant enough differences between what VIA sells as C3 and what they sell as C7, architecturally, therefore GCC doesn't have a seperate optimization profile for those sold as C7s. It's marketing terminology more than a genuine difference in technology. That said, there are some very signifigant differences between some early (Cyrix design based) C3 chips, and the latter chips which forked very far from the early Cyrix designs and implemented some really cool stuff like the Padlock RNG and crypto instruction sets.
|
|
||||
Quote:
So, cpu I686_CPU in your kernel config file, and CPUTYPE=c3-2 in make.conf And leave CFLAGS and COPTFLAGS alone!
__________________
The only dumb question is a question not asked. The only dumb answer is an answer not given. |
|
|||
Code:
$ dmesg | grep CPU CPU: VIA/IDT Unknown (1596.01-MHz 686-class CPU) cpu0: <ACPI CPU> on acpi0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 |
|
||||
Code:
# The CPUTYPE variable controls which processor should be targeted for # generated code. This controls processor-specific optimizations in # certain code (currently only OpenSSL) as well as modifying the value # of CFLAGS to contain the appropriate optimization directive to gcc. # The automatic setting of CFLAGS may be overridden using the # NO_CPU_CFLAGS variable below. # Currently the following CPU types are recognized: # Intel x86 architecture: # (AMD CPUs) opteron athlon64 athlon-mp athlon-xp athlon-4 # athlon-tbird athlon k8 k6-3 k6-2 k6 k5 # (Intel CPUs) core2 core nocona pentium4m pentium4 prescott # pentium3m pentium3 pentium-m pentium2 # pentiumpro pentium-mmx pentium i486 i386 # (Via CPUs) c3 c3-2 # Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4 # AMD64 architecture: opteron, athlon64, nocona, prescott, core2 # Intel ia64 architecture: itanium2, itanium i686 is something like Pentium 2 (i'f i'mm correct, hold on i'll check), but who know's how compitable via's chip is just leave it alone (or use i486 or c3 or c3-2) |
|
|||
I've looked at a normal dmesg and found this:
Code:
CPU: VIA/IDT Unknown (1596.01-MHz 686-class CPU) Origin = "CentaurHauls" Id = 0x6d0 Stepping = 0 Features=0xa7c9bbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE, CMOV,PAT,CLFLUSH,ACPI,MMX,FXSR,SSE,SSE2,TM,PBE> Features2=0x4181<SSE3,EST,TM2,xTPR> Code:
. elif ${CPUTYPE} == "c3" MACHINE_CPU = 3dnow mmx i586 i486 i386 . elif ${CPUTYPE} == "c3-2" MACHINE_CPU = sse mmx i586 i486 i386 I have also left the FLAGS stuff alone. Thanks to all of you for helping me! |
|
||||
In my opinion, that rules out most people who lack commit access to the FreeBSD src ;-)
__________________
My Journal Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''. |
|
|