[Pkg-xen-devel] Re: libc6-xen not used on AMD Geode LX system

Aurelien Jarno aurelien at aurel32.net
Wed Jan 10 00:19:30 CET 2007


Jérôme a écrit :
> Aurelien Jarno wrote:
>> Jérôme a écrit :
>>   
>>>     Hi,
>>>
>>>     I'm trying to install xen+Debian Etch on a Geode LX system. Xen 
>>> boots fine, but although the package "libc6-xen" is installed I have a 
>>> large number of such errors:
>>>        4gb seg fixup, process syslogd (pid 1878), cs:ip 73:b7f24610
>>>
>>>     All processes triggers it, and from what I've found on the web it's 
>>> a sign that libc6-xen is not recognized. Indeed:
>>>     minimo:~:2# ldd /bin/echo
>>>         linux-gate.so.1 =>  (0xffffe000)
>>>         libc.so.6 => /lib/tls/libc.so.6 (0xb7e48000)
>>>         /lib/ld-linux.so.2 (0xb7f82000)
>>>
>>>     It's /lib/tls and not /lib/tls/i686/cmov.
>>>
>>>     I have found on the web references to this issue for FC6, with a fix 
>>> ("hwcap 0 nosegneg" in a file in /etc/ld.so.conf.d, and put the libs in 
>>> /lib/tls/i686/cmov/nosegneg, ldconfig) but this does not help here. So 
>>> it may be a capability issue?
>>>
>>>     When I look at the hardware capabilities needed with "ldconfig -Nv | 
>>> grep '^/'" I get:
>>>     lib/tls:        (hwcap: 0x8000000000000000)
>>>     /usr/lib/i486:        (hwcap:    0x2000000000000)
>>>     /usr/lib/i686:        (hwcap:    0x8000000000000)
>>>     /usr/lib/i586:        (hwcap:    0x4000000000000)
>>>     /lib/tls/i686:        (hwcap: 0x8008000000000000)
>>>     /usr/lib/i686/cmov:    (hwcap:    0x8000000008000)
>>>     /lib/tls/i686/cmov:    (hwcap: 0x8008000000008000)
>>>
>>>     0x8000 is CMOV support, which is present on the Geode LX. Here's the 
>>> whole CPU info:
>>>     minimo:~:3# cat /proc/cpuinfo
>>>     processor       : 0
>>>     vendor_id       : AuthenticAMD
>>>     cpu family      : 5
>>>     model           : 10
>>>     model name      : Geode(TM) Integrated Processor by AMD PCS
>>>     stepping        : 2
>>>     cpu MHz         : 499.919
>>>     cache size      : 128 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 pse tsc msr cx8 sep pge cmov clflush mmx 
>>> mmxext 3dnowext 3dnow up
>>>     bogomips        : 1001.25
>>>
>>>     The upper bit is required for TLS, so it's not the problem as TLS is 
>>> supported. So it should be the middle bit 0x8000000000000 that is not 
>>> supported. I found a reference to "MP support" but that seems weird --- 
>>> why would MP support be required here?
>>>     
>> This bit means than you need a 686 CPU. This seems to be the case as you
>> are using a -686 kernel, but it seems it is not correctly detected by
>> the kernel. You can try to move the files from /lib/tls/i686/cmov into
>> /lib/tls/i586/cmov, then run ldconfig and try again. Be aware that it
>> can crash your system if your CPU really doesn't support 686 instructions.
>>   
> Thanks, that worked perfectly: the Xen libs are found, and after a 
> reboot the virtual machines works perfectly. According to its data book 
> the Geode LX is i686 compatible, see the Pentium Pro reference below:
> "The instruction set supported by the core is a combination
> of Intel’s Pentium, the AMD-K6 microprocessor and the
> Athlon FPU, and the AMD Geode LX processor specific
> instructions. Specifically, it supports the Pentium, Pentium
> Pro, 3DNow! technology for the AMD-K6 and Athlon processors,
> and MMX instructions for the Athlon processor."
> 
> So it seems to be a bug in the capability handling of ldconfig.

Well the ld.so dynamic loader uses the hwcap provided by the kernel.
Therefore I guess your CPU is not correctly detected by the kernel.

I suggest to report a bug against the linux-2.6 package.

Aurelien

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32 at debian.org         | aurelien at aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net



More information about the Pkg-xen-devel mailing list