--- Begin Message ---
Package: linux-image-2.6-486
Version: 2.6.26+16
Severity: wishlist
It would be useul to have the facility to provide a generic entry in
/proc/cpuinfo rather than revealing processor specific information.
This could possibly be done via a boot option, such as
cpuinfo=486 or cpuinfo=pentium
This would enable the computer to act as a generic base level computer
for a specific architecture, providing backward compatibility with
lower level machines. This would enable a machine to appear as a generic
486 machine or as a generic Pentium machine, without revealing the machine is
actually a higher level machine 686 machine (or using an IBM compatible
processor, supplied by an alternative manufacturer such as a Cyrix 686,
or an AMD K6 or AMD K7.)
One of the problems that I am encountering is that build and runtime
systems appear to be taking information from /proc/cpuinfo, and this is
influencing compiler or program behaviour.
All of my machines are using 486 (IA-32) compatible processors. However,
not all machines are true 486 machines. I have 586, 686 and K7 series
processors on some machines, and the processors are made by various
manufacturers (such as Intel, Cyrix and AMD.)
I require all machines to behave with "lowest common denominator"
behaviour, and for all compiled binaries to be generic enough to move
across machines. I am finding that distribution provided binaries, and
third party provided build scripts are detecting that the machine doing
the build is a 686, and is utilizing features for that architecture,
even though the target architecture is generic 486.
I know that a workaround for this would be to modify all of the build
scripts in every single package, and find a way of rebuilding the entire
Debian distribution from source, but I feel that a falsified /proc/cpuinfo
would be much less of a headache.
I propose that the boot time switch cpuinfo=pentium provides the following
falsified information in /proc/cpuinfo:
vendor_id : GenuineIntel
cpu family : 5
model : 2
model name : Pentium 75 - 200
Maybe the vendor_id, model and model name could be simply be set to
"Unknown" or "Generic" if the boot switch is used. I am not sure what
effect this would have, but hopefully it would mean generic behaviour.
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
____ Damn!! This bit is wrong!
Kernel: Linux 2.6.26-1-486
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
Versions of packages linux-image-2.6-486 depends on:
ii linux-image-2.6.26-1-486 2.6.26-8 Linux 2.6.26 image on x86
linux-image-2.6-486 recommends no packages.
linux-image-2.6-486 suggests no packages.
-- no debconf information
--- End Message ---
--- Begin Message ---
On Thu, Nov 20, 2008 at 07:39:50PM +0000, Mark Hobley wrote:
> It would be useul to have the facility to provide a generic entry in
> /proc/cpuinfo rather than revealing processor specific information.
This patch would have to come the way via upstream. Also the kernel
always provide anything to do that:
$ sudo mount -t proc none proc
$ cat proc/cpuinfo | head -n 2
processor : 0
vendor_id : AuthenticAMD
$ cat cpuinfo
fake
$ sudo mount --bind cpuinfo proc/cpuinfo
$ cat proc/cpuinfo
fake
> One of the problems that I am encountering is that build and runtime
> systems appear to be taking information from /proc/cpuinfo, and this is
> influencing compiler or program behaviour.
This behaviour is not allowed for Debian packages.
Because it does not fix anything and it is already possible, I close this bug.
Bastian
--
Schshschshchsch.
-- The Gorn, "Arena", stardate 3046.2
--- End Message ---