Red Hat Bugzilla – Bug 91827
LTC2928-RedHat EL3 Alpha 3: Header file systemcfg.h missing
Last modified: 2007-11-30 17:06:56 EST
Please fill in each of the sections below.
RedHat EL3 Alpha 3
Steps to Reproduce:
On SELS 8, there is a system header file /opt/cross/powerpc64-
linux/include/asm/systemcfg.h which provides the structure for the system
configuration. I realize /opt/cross is no longer used in RedHat EL3. But I
failed to find it under /usr/include or anywhere else.
It should be in /usr/include/asm-ppc64/systemcfg.h (and asm-ppc) with the rest
of the kernel headers.
assigning to correct component
/usr/include/ doesn't include kernel headers only glibc headers; changing component.
what is this header needed for? the /proc/ppc64/systemcfg interface is quite
horrible. Much of this info is passed through ELF AUX entries. What else is
Is there an IBM product which has a development component which uses this
interface? If not, (i.e., the header is only required for building an IBM
application), one should take a snapshot of header and maintain it along with
the code which uses it.
Also the license for the code in this file seems to be GPL which is a trap for
applications that accidentally use it but don't want to be GPL.
------ Additional Comments From firstname.lastname@example.org 2003-30-07 15:14 -------
The RHEL3 beta1 has the header file at /usr/include/asm-ppc64/systemcfg.h.
The compilers and JIT (Just-In-Time compiler for Java) need the info defined
in the systemcfg structure at the run-time. In addition, we would like to
have L2 cache size and cache associativity info as well. ELF AUX does not
seem to provide all the info. If ELF AUX can provide all the info we need,
we don't have problem switching from the systemcfg structure to ELF AUX.
------ Additional Comments From email@example.com 2003-08-08 15:00 -------
Please note that some of the systemcfg.h fields are dynamic (tb_ticks_per_sec,
tb_to_xs) and can change after the process is started. For example the network
time base deamon can adjust these values at any time. These values are used to
compute the tod directly from the timebase without a syscall.
As such they can't be replaced by Elf AUX entries.
1) IBM provide interested parties with a systemcfg.h file that is not GPL. Due
to the inline code included in the header file, using it in a program will taint
it with GPLed code.
2) Applications which want to use the interface should maintain a copy of the
file in their build environment.
I believe that this is also the recommendation of SuSE for their next release.
------ Additional Comments From firstname.lastname@example.org 2003-25-08 11:08 -------
Looks like we don't have any other choice. We will use a local copy of
systemcfg.h if the system does not provide it. Please close this bug.