Bug 91827 - LTC2928-RedHat EL3 Alpha 3: Header file systemcfg.h missing
LTC2928-RedHat EL3 Alpha 3: Header file systemcfg.h missing
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: glibc-kernheaders (Show other bugs)
powerpc Linux
high Severity high
: ---
: ---
Assigned To: Arjan van de Ven
Depends On:
  Show dependency treegraph
Reported: 2003-05-28 14:40 EDT by IBM Bug Proxy
Modified: 2007-11-30 17:06 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-08-17 11:59:19 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description IBM Bug Proxy 2003-05-28 14:40:55 EDT
Please fill in each of the sections below.

Hardware Environment:
2-way POWER3

Software Environment:
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. 

Actual Results:

Expected Results:

Additional Information:
Comment 1 Harald Hoyer 2003-05-29 10:18:50 EDT
assigning to correct component
Comment 2 Arjan van de Ven 2003-05-29 10:22:47 EDT
/usr/include/ doesn't include kernel headers only glibc headers; changing component.
Comment 3 Matt Wilson 2003-07-29 13:33:24 EDT
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.

Comment 4 Arjan van de Ven 2003-07-29 13:45:41 EDT
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.
Comment 5 IBM Bug Proxy 2003-07-30 17:03:59 EDT
------ Additional Comments From xingxue@ca.ibm.com  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. 
Comment 6 IBM Bug Proxy 2003-08-12 11:54:34 EDT
------ Additional Comments From sjmunroe@us.ibm.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. 
Comment 7 Matt Wilson 2003-08-17 11:59:19 EDT
We recommend:

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.
Comment 8 IBM Bug Proxy 2003-08-25 13:19:59 EDT
------ Additional Comments From xingxue@ca.ibm.com  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. 

Note You need to log in before you can comment on or make changes to this bug.