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:
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 needed? 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. Comments?
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 xingxue.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.
------ Additional Comments From sjmunroe.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.
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.
------ Additional Comments From xingxue.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.