Ubuntu

VIA C3 processor in Ubuntu Edgy 6.10

Reported by Alejandro Zaro on 2006-09-07
4
Affects Status Importance Assigned to Milestone
linux-source-2.6.17 (Ubuntu)
High
Ben Collins

Bug Description

Binary package hint: kernel-image-2.6.17-6-386-di

Hello
 The version of Ubuntu 6.10 from 31 of August of 2006 cannot load on
VIA C3 "Samuel Centaurhauls" 686 procesor.
 The kernel used is 2.6.17-6-686 from Aug 11, 2006 (I think is the same one in Knot 2).
 At load with any option is restarted at starting kernel after load initrd image.
Ubuntu 6.06LTS is working fine.
  I think that in this CD the kernel was compiled only for AMD y Intel processors, not for all i686.

Ben Collins (ben-collins) wrote :

Yeah, this is an odd one. I have an EPIA-M 10000 that exhibits the same problem. The kernel on knot-3 is compiled for generic 586 cpu, and as such, should work on this processor.

I'm still working on a solution. If you would still like to install edgy, I know that the Alternate install CD (which uses the -386 kernel) actually works. This one is targetted at 486 generic.

Changed in linux-source-2.6.17:
importance: Untriaged → High
status: Unconfirmed → Confirmed
Tollef Fog Heen (tfheen) wrote :
Changed in linux-source-2.6.17:
assignee: nobody → ben-collins
Alejandro Zaro (grapequade) wrote :

Yes, in Knot 3 is working fine!
 Thank you for comment about Alternate install CD.

About my VIA C3:
user@ubuntu:~$ cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 7
model name : VIA Samuel 2
stepping : 3
cpu MHz : 796.261
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de tsc msr cx8 mtrr pge mmx 3dnow
bogomips : 1593.71

Changed in linux-source-2.6.17:
status: Confirmed → Fix Released
Paul Coleman (pdcoleman) wrote :

While the VIA C3 is a 586 it does not have the cmov instruction that was optional in the Intel 586 specification. Unfortunately this problem keeps reappearing in every distro.

cmov was a 686 instruction. 586 builds will work fine on the C3.
--
Matthew Garrett | <email address hidden>

psl (slansky) wrote :

I see the same problem with VIA C3 750MHz CPU (Ubuntu 6.06.1 i386 server)

I found this in one discussion :

According to VIA the C3 is a native i686 cpu WITHOUT the CMOV instruction
set. Due to the fact that gcc uses the cmov instructions when -march=i686 is
used respectively if PROCESSOR_PENTIUMPRO is selected in the processor
alias table gcc will generate invalid instructions for the c3 (see
20000609-1.c in gcc-3.3.3/gcc/testsuite/gcc.dg and compile with -march=i686
only).

Source:
http://gcc.gnu.org/ml/gcc-patches/2004-07/msg02718.html

Ben Collins (ben-collins) wrote :

The server kernel is very specialized, and optimized, so I don't have any real plans to back down the targetted architecture to remove optimizations for the C3 proc to make use of it.

psl (slansky) wrote :

"cmov was a 686 instruction. 586 builds will work fine on the C3."
--

I understand that "cmov" is OPTIONAL i686 instruction. In the case that software will follow i686 specification, it will use CMOV instructions only when presented in the CPU. CPU has a flag that it indicates support of CMOV instruction (check cat /proc/cpuinfo for example). I understand that this is problem of design of gcc or clib or something like that and Ubuntu cannot do too much about it.

psl (slansky) wrote :

I am not sure about this but I think it could be possible that kernel could be improved in the way that CMOV instruction will be emulated by software when not presented in CPU. Like in the old times when only some computers had FPU support in the sillicon and software FPU emulation was compiled to the kernel. I am not sure if this concept could work for CMOV and I have no idea what will be the cost of such emulation (I don't have idea how frequent CMOV instruction is in the code and how difficult is it to emulate CMOV). I saw somewhere other solution for some VIA based board; to enable i686 but disable CMOV instructions by flag for gcc; I think gcc has to be patched to be able to generate i686 code without CMOV instructions.

Only ideas...

Andy Flach (andyflach) wrote :

I am a complete noob, so pardon my ignorance.

It says that this bug is fixed, but I recently downloaded Edgy 6.10 and tried to install it on a Via Epia SP8000e, which uses a type of C3 processor, and I got this problem. How do I go about getting the Ubuntu version which includes the fix to this problem?

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers