Tab navigation
- Recommended- selected tab,
- Experimental
- Technical details
- Restrictions
- Documentation
- Overview: "August 2001 stream
- System Build Cross Reference "August 2001 stream"
- Download Area "August 2001 stream"
Updates for the "August 2001 stream".
Overview: "August 2001 stream"
Linux for S/390 31-bit distributions and Linux for zSeries 64-bit distributions can be built using:
- kernel (two alternate kernel levels are available)
- kernel 2.4.17
- kernel 2.4.7
For both kernel levels separate On-demand timer and Order-2 patches are provided.
- OCO modules for the kernel levels
- kernel 2.4.17: qdio, qeth, tape_3590_mod
- kernel 2.4.7: qdio, qeth, tape_3590_mod
- Special OCO modules for On-demand timer
No special OCO modules for Order-2
The recommended kernel 2.4.7 / 2.4.17 downloads of this page were tested with:
- tool-chain:
- binutils 2.11.90.0.27
- gcc 2.95.3
- glibc 2.2.4
- utilities:
- modutils 2.4.7
- s390-tools 1.0.6
- debug tools:
- gdb 5.0
- strace 4.2.2
If you download any software from this web site please be aware of the Warranty Disclaimer and Limitation of Liabilities.
Note that most new functions introduced with the "June 2003 stream" and "May 2002 stream" are not available on this combination of levels. For an overview of the three parallel kernel 2.4 streams refer to Downloads for kernel 2.4 page.
System Build Cross Reference "August 2001 stream"
If you download any software from this web site please be aware of the Warranty Disclaimer and Limitation of Liabilities.
Available downloads
- kernel 2.4.17 downloads for the "August 2001 stream"
- OCO modules (kernel 2.4.17) for the "August 2001 stream"
- kernel 2.4.7 downloads for the "August 2001 stream"
- OCO modules (kernel 2.4.7) for the "August 2001 stream"
- Tool-chain for the "August 2001 stream"
- Utilities for the "August 2001 stream"
- Debug tools for the "August 2001 stream"
| Package | Downloads | Description |
|---|---|---|
| qdio |
31-bit qdio
MD5
(2003-12-05) 31-bit qdio-timer MD5 (2003-12-05) 64-bit qdio MD5 (2003-12-05) 64-bit qdio-timer MD5 (2003-12-05) |
See qdio 2003-12-05 |
| qeth |
31-bit qeth
MD5
(2003-12-05) 31-bit qeth-timer MD5 (2003-12-05) 64-bit qeth MD5 (2003-12-05) 64-bit qeth-timer MD5 (2003-12-05) | See qeth 2003-12-05 |
| tape_3590_mod |
31-bit tape_3590_mod
MD5
(2003-02-20) 31-bit tape_3590_mod-timmer MD5 (2003-02-20) 64-bit tape_3590_mod MD5 (2003-02-20) 64-bit tape_3590_mod-timmer MD5 (2003-02-20) | See tape_3590_mod 2003-02-20 |
| z90crypt | n/a | part of 2003-02-20 kernel 2.4.17 patch |
| Package | Downloads | Description |
|---|---|---|
| qdio |
31-bit qdio
MD5
(2003-12-05) 31-bit qdio-timer MD5 (2003-12-05) 64-bit qdio MD5 (2003-12-05) 64-bit qdio-timer MD5 (2003-12-05) |
See qdio 2003-12-05 |
| qeth |
31-bit qeth
MD5
(2003-12-05) 31-bit qeth-timer MD5 (2003-12-05) 64-bit qeth MD5 (2003-12-05) 64-bit qeth-timer MD5 (2003-12-05) |
See qeth 2003-12-05 |
| tape_3590_mod |
31-bit tape_3590_mod
MD5
(2003-02-20) 31-bit tape_3590_mod-timer MD5 (2003-02-20) 64-bit tape_3590_mod MD5 (2003-02-20) 64-bit tape_3590_mod-timer MD5 (2003-02-20) |
See tape_3590_mod 2003-02-20 |
| z90crypt | n/a | part of 2003-02-20 kernel 2.4.7 patch |
| Package | Downloads | Description |
|---|---|---|
| modutils 2.4.7 | n/a | See modutils 2001-08-20 |
| s390-tools 1.0.6 | s390-tools-1.0.6-august2001.tar.gz MD5 (2003-02-20) | See s390-tools 2003-02-20 |
| Package | Downloads | Description |
|---|---|---|
| gdb 5.0 | gdb-5.0-s390.tar.gz MD5 (2001-08-20) | See gdb 2001-08-20 |
| gdb-5.0-s390-1.tar.gz MD5 (2001-09-14) | See gdb 2001-09-14 | |
| gdb-5.0-s390-2.tar.gz MD5 (2001-10-12) | See gdb 2001-10-12 | |
| strace 4.2 | strace-4.2.20010119-s390.tar.gz MD5 (2001-08-20) | See strace 2001-08-20 |
| strace-4.2.20010119-s390-1.tar.gz MD5 (2001-10-12) | See strace 2001-10-12 |
Note: lkcdutils-4.0 includes the dump analysis tool lcrash. lkcdutils-4.0 can be downloaded at //lkcd.sourceforge.net or //sourceforge.net/projects/lkcd.
Download Area "August 2001 stream"
Below are the downloads (with description) for the kernel 2.4.7/17 "August 2001 stream", listed in reverse chronological order. This can be used to backtrack the "August 2001 stream".
The System Build Cross Reference shows the most current set of downloads for the "August 2001 stream" and ignores superseded patches and modules (which are still shown below).
If you download any software from this web site please be aware of the Warranty Disclaimer and Limitation of Liabilities.
2004-07-14 kernel 2.4.17 for the "August 2001 stream"
- kernel 2.4.17 ("August 2001", 2004-07-14)
- accumulated patch: linux-2.4.17-s390-15.tar.gz MD5 recommended (2004-07-14)
- per-problem-patch: linux-2.4.17-s390-15-patches.tar.gz MD5 recommended (2004-07-14)
This patch contains the following Linux kernel bug fix:
- Description:
- Kernel: Lost dirty bits.
- Symptom:
- Data corruption under memory pressure.
- Problem:
- The hardware dirty bit is cleared every time SetPageUptodate is called. The common memory management code calls the function, even if the page already is up to date. In this case the dirty bit may not be cleared because the page is potentially mapped writable in some user process which could have written to the page since the last writeback.
- Solution:
- Add a check to arch_set_page_uptodate to skip the clearing of the dirty bit, if the page is already up to date.
- Problem-ID:
- 8165
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
+ linux-2.4.17-s390-9.diff (IBM)
+ linux-2.4.17-s390-10.diff (IBM)
+ linux-2.4.17-s390-11.diff (IBM)
+ linux-2.4.17-s390-12.diff (IBM)
+ linux-2.4.17-s390-13.diff (IBM)
+ linux-2.4.17-s390-14.diff (IBM)
+ linux-2.4.17-s390-15.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.17-timer-7.diff (IBM)
2004-07-14 kernel 2.4.7 for the "August 2001 stream"
-
kernel 2.4.7 ("August 2001", 2004-07-14)
- accumulated patch: linux-2.4.7-s390-20.tar.gz MD5 recommended(2004-07-14)
- per-problem-patch: linux-2.4.7-s390-20-patches.tar.gz MD5 recommended (2004-07-14)
This patch contains the following Linux kernel bug fix:
- Description:
- Kernel: Lost dirty bits.
- Symptom:
- Data corruption under memory pressure.
- Problem:
- The hardware dirty bit is cleared every time SetPageUptodate is called. The common memory management code calls the function, even if the page already is up to date. In this case the dirty bit may not be cleared because the page is potentially mapped writable in some user process which could have written to the page since the last writeback.
- Solution:
- Add a check to arch_set_page_uptodate to skip the clearing of the dirty bit, if the page is already up to date.
- Problem-ID:
- 8165
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
+ linux-2.4.7-s390-13.diff (IBM)
+ linux-2.4.7-s390-14.diff (IBM)
+ linux-2.4.7-s390-15.diff (IBM)
+ linux-2.4.7-s390-16.diff (IBM)
+ linux-2.4.7-s390-17.diff (IBM)
+ linux-2.4.7-s390-18.diff (IBM)
+ linux-2.4.7-s390-19.diff (IBM)
+ linux-2.4.7-s390-20.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-8.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-9.diff (IBM)
Order-2 ("August 2001", 2004-07-14)
linux-2.4.7-order2-9.tar.gz MD5 recommended (2004-07-14)
The "order 2 allocation relief" patch is a complete replacement of the recommended patch shipped on 2004-06-09. This patch is functionally equivalent to the 2004-06-09 patch.
- This patch is very s/390 specific, but does not break other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel, but can also be applied if you intend to build a 31-bit kernel.
- This patch is compatible with the "On-demand timer patch" and does not require special OCO modules.
To create the complete linux kernel sources, apply all IBM kernel 2.4.7 patches on top of linux-2.4.7.tar.gz (see www.kernel.org) and as last patch
+ linux-2.4.7-order2-9.diff (IBM), or on top of linux-2.4.7-timer-8.diff (IBM) if timer is required.
2004-06-09 kernel 2.4.17 for the "August 2001 stream"
- kernel 2.4.17 ("August 2001", 2004-06-09)
- accumulated patch: linux-2.4.17-s390-14.tar.gz MD5 recommended (2004-06-09)
- per-problem-patches: linux-2.4.17-s390-14-patches.tar.gz MD5 recommended (2004-06-09)
These patches contain the following Linux kernel bug fixes:
- Description:
- cio: Deferred cc=3 on BASIC SENSE leads to data corruption.
- Symptom:
- Data corruption after heavy I/O workload while ESS is doing failover.
- Problem:
- BASIC SENSE after a unit check returns with deferred cc=3. The device driver is called with the device status for the BASIC SENSE which it should not see.
- Solution:
- If a deferred cc=3 after a BASIC SENSE happens, call the device driver with the device status for the preceding unit check and reset the w4sense flag.
- Problem-ID:
- 9055
- Description:
- iucv: restart of multiple IUCV connections fails.
- Symptom:
- Further IUCV connections are only possible after reloading of module netiucv.
- Problem:
- When restarting IUCV connections, the old IUCV pathids are not reused. Thus repeated restart of a single IUCV connection resp. few restarts of multiple IUCV connections result in reaching the maximum number limit of IUCV paths.
- Solution:
- Handling of an IUCV connection severed by partner is changed: No reconnect is made; instead the IUCV connection stays in state STARTWAIT till a "Connection Pending" interrupt arrives.
- Problem-ID:
- 7640
- Description:
- kernel: mlock() gets stuck in get_user_pages/follow_page.
- Symptom:
- Process doing mlock loops in the kernel with kernel locks held.
- Problem:
- set_pte/pte_mkdirty does not cause pte_dirty to return true but the common mm code relies on it.
- Solution:
- Set page dirty if required but do not loop on !pte_dirty().
- Problem-ID:
- 8210
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
+ linux-2.4.17-s390-9.diff (IBM)
+ linux-2.4.17-s390-10.diff (IBM)
+ linux-2.4.17-s390-11.diff (IBM)
+ linux-2.4.17-s390-12.diff (IBM)
+ linux-2.4.17-s390-13.diff (IBM)
+ linux-2.4.17-s390-14.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.17-timer-7.diff (IBM)
2004-06-09 kernel 2.4.7 for the "August 2001 stream"
- kernel 2.4.7 ("August 2001", 2004-06-09)
- accumulated patch: linux-2.4.7-s390-19.tar.gz MD5 recommended(2004-06-09)
- per-problem-patches: linux-2.4.7-s390-19-patches.tar.gz MD5 recommended (2004-06-09)
These patches contain the following Linux kernel bug fixes:
- Description:
- cio: Deferred cc=3 on BASIC SENSE leads to data corruption.
- Symptom:
- Data corruption after heavy I/O workload while ESS is doing failover.
- Problem:
- BASIC SENSE after a unit check returns with deferred cc=3. The device driver is called with the device status for the BASIC SENSE which it should not see.
- Solution:
- If a deferred cc=3 after a BASIC SENSE happens, call the device driver with the device status for the preceding unit check and reset the w4sense flag.
- Problem-ID:
- 9055
- Description:
- iucv: restart of multiple IUCV connections fails.
- Symptom:
- Further IUCV connections are only possible after reloading of module netiucv.
- Problem:
- When restarting IUCV connections, the old IUCV pathids are not reused. Thus repeated restart of a single IUCV connection resp. few restarts of multiple IUCV connections result in reaching the maximum number limit of IUCV paths.
- Solution:
- Handling of an IUCV connection severed by partner is changed: No reconnect is made; instead the IUCV connection stays in state STARTWAIT till a "Connection Pending" interrupt arrives.
- Problem-ID:
- 7640
- Description:
- kernel: mlock() gets stuck in get_user_pages/follow_page.
- Symptom:
- Process doing mlock loops in the kernel with kernel locks held.
- Problem:
- set_pte/pte_mkdirty does not cause pte_dirty to return true but the common mm code relies on it.
- Solution:
- Set page dirty if required but do not loop on !pte_dirty().
- Problem-ID:
- 8210
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
+ linux-2.4.7-s390-13.diff (IBM)
+ linux-2.4.7-s390-14.diff (IBM)
+ linux-2.4.7-s390-15.diff (IBM)
+ linux-2.4.7-s390-16.diff (IBM)
+ linux-2.4.7-s390-17.diff (IBM)
+ linux-2.4.7-s390-18.diff (IBM)
+ linux-2.4.7-s390-19.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-8.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-8.diff (IBM)
Order-2 ("August 2001", 2004-06-09) (superseded)
linux-2.4.7-order2-8.tar.gz MD5 recommended (2004-06-09)
The "order 2 allocation relief" patch is a complete replacement of the recommended patch shipped on 2003-09-04. This patch is functionally equivalent to the 2003-09-04 patch.
- This patch is very s/390 specific, but does not break other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel, but can also be applied if you intend to build a 31-bit kernel.
- This patch is compatible with the "On-demand timer patch" and does not require special OCO modules.
To create the complete linux kernel sources, apply all IBM kernel
2.4.7 patches on top of linux-2.4.7.tar.gz (see www.kernel.org) and
as last patch
+ linux-2.4.7-order2-8.diff (IBM), or on top of
linux-2.4.7-timer-8.diff (IBM) if timer is required.
2004-03-24 kernel 2.4.17 for the "August 2001 stream"
- kernel 2.4.17 ("August 2001", 2004-03-24)
- accumulated patch: linux-2.4.17-s390-13.tar.gz MD5 recommended (2004-03-24)
- per-problem-patches: linux-2.4.17-s390-13-patches.tar.gz MD5 recommended (2004-03-24)
These patches contain the following Linux kernel bug fixes:
- Description:
- iucv: IUCV send failure.
- Symptom:
- strace of ping shows that sendmsg returns ENOBUFS.
- Problem:
- tx_queue_len of the iucv net_device is set to zero.
- Solution:
- Set tx_queue_len to the message limit returned from the ACCEPT function of IUCV.
- Problem-ID:
- 6157
- Description:
- iucv: unable to reconnect after reboot
- Symptom:
- Connection FSM state: Stopped in /proc/net/iucv/iucv0/statistics of iucv-partner of the rebooting system
- Problem:
- The iucv-partner of a rebooting system does not try to reconnect when remote partner severed connection
- Solution:
- Added connect retry when remote severed connection
- Problem-ID:
- 6631
- Note:
- This patch fixes a problem introduced with the fix for Problem-ID 5912 in linux-2.4.17-s390-12.diff (2004-01-26).
- Description:
- lcs: multicast joins and drops not noticed by drivers
- Symptom:
- multicast traffic is not received
- Problem:
- driver did not notice stack using multicast addresses
- Solution:
- use notifier_call_chain to notify drivers
- Problem-ID:
- 5921
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
Note: If On-demand timer is
required, apply on top of above patches:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
+ linux-2.4.17-s390-9.diff (IBM)
+ linux-2.4.17-s390-10.diff (IBM)
+ linux-2.4.17-s390-11.diff (IBM)
+ linux-2.4.17-s390-12.diff (IBM)
+ linux-2.4.17-s390-13.diff (IBM)
+ linux-2.4.17-timer-7.diff (IBM)
2004-03-24 kernel 2.4.7 for the "August 2001 stream"
- kernel 2.4.7 ("August 2001", 2004-03-24)
- accumulated patch: linux-2.4.7-s390-18.tar.gz MD5 recommended(2004-03-24)
- per-problem-patches: linux-2.4.7-s390-18-patches.tar.gz MD5 recommended (2004-03-24)
These patches contain the following Linux kernel bug fixes:
- Description:
- iucv: IUCV send failure.
- Symptom:
- strace of ping shows that sendmsg returns ENOBUFS.
- Problem:
- tx_queue_len of the iucv net_device is set to zero.
- Solution:
- Set tx_queue_len to the message limit returned from the ACCEPT function of IUCV.
- Problem-ID:
- 6157
- Description:
- iucv: unable to reconnect after reboot
- Symptom:
- Connection FSM state: Stopped in /proc/net/iucv/iucv0/statistics of iucv-partner of the rebooting system
- Problem:
- The iucv-partner of a rebooting system does not try to reconnect when remote partner severed connection
- Solution:
- Added connect retry when remote severed connection
- Problem-ID:
- 6631
- Note:
- This patch fixes a problem introduced with the fix for Problem-ID 5912 in linux-2.4.7-s390-17.diff (2004-01-26).
- Description:
- lcs: multicast joins and drops not noticed by drivers
- Symptom:
- multicast traffic is not received
- Problem:
- driver did not notice stack using multicast addresses
- Solution:
- use notifier_call_chain to notify drivers
- Problem-ID:
- 5921
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
+ linux-2.4.7-s390-13.diff (IBM)
+ linux-2.4.7-s390-14.diff (IBM)
+ linux-2.4.7-s390-15.diff (IBM)
+ linux-2.4.7-s390-16.diff (IBM)
+ linux-2.4.7-s390-17.diff (IBM)
+ linux-2.4.7-s390-18.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-8.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-7.diff (IBM)
2004-01-26 kernel 2.4.17 for the "August 2001 stream"
- kernel 2.4.17 ("August 2001", 2004-01-26)
- accumulated patch: linux-2.4.17-s390-12.tar.gz MD5 recommended (2004-01-26)
- per-problem-patches: linux-2.4.17-s390-12-patches.tar.gz MD5 recommended (2004-01-26)
These patches contain the following Linux kernel bug fixes:
- Description:
- dasd: Driver sets improper default cache mode on ESS
- Symptom:
- Performance limitation.
- Problem:
- Suboptimal caching behavior for 'default' workload limits I/O performance.
- Solution:
- Set proper default (normal caching).
- Problem-ID:
- 5409
- Description:
- dasd: BUG when pulling/plug in fibers associated with ESS.
- Symptom:
- BUG in dasd ERP leads to kernel panic.
- Problem:
- The (paranoia) macro in dasd_3990_erp_alternate_path assumes that the status of the request is ERROR, but it might also be FILLED (if the situation happens the first time)
- Solution:
- Only reduce status to QUEUED (do not enhance)
- Problem-ID:
- 5702
- Description:
- dasd: Massive workload combined with ESS FlashCopy leading to I/O hang.
- Symptom:
- FlashCopy I/O hang
- Problem:
- State change interrupt handler checks only first request in cqr-queue, but in case the fastpath for start_IO was successful, it might happen that the second request is long busy.
- Solution:
- Check the whole cqr-queue for long busy.
- Problem-ID:
- 4676
- Description:
- iucv: Disable message interrupts during connection setup
- Symptom:
- --
- Problem:
- --
- Solution:
- Honor incoming connection severed during connection setup.
- Problem-ID:
- 5912
- Note:
- This patch introduces a problem that is resolved with the fix for Problem-ID 6631 in linux-2.4.17-s390-13.diff (2004-03-24).
- Description:
- z90crypt: Unnecessary restriction to length of inputdata for MEX request
- Symptom:
- errno = EINVAL for valid data
- Problem:
- checking for even inputdatalength for both CRT and MEX request
- Solution:
- only check for CRT request
- Problem-ID:
- 5633
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
+ linux-2.4.17-s390-9.diff (IBM)
+ linux-2.4.17-s390-10.diff (IBM)
+ linux-2.4.17-s390-11.diff (IBM)
+ linux-2.4.17-s390-12.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.17-timer-7.diff (IBM)
Note: If you apply this patch and are using iucv you may run into Problem-ID 6631, the fix for which is included in linux-2.4.17-s390-13.diff (2004-03-24).
2004-01-26 kernel 2.4.17 for the "August 2001 stream"
- kernel 2.4.17 ("August 2001", 2004-01-26)
- accumulated patch: linux-2.4.17-s390-12.tar.gz MD5 recommended (2004-01-26)
- per-problem-patches: linux-2.4.17-s390-12-patches.tar.gz MD5 recommended (2004-01-26)
These patches contain the following Linux kernel bug fixes:
- Description:
- dasd: Driver sets improper default cache mode on ESS
- Symptom:
- Performance limitation.
- Problem:
- Suboptimal caching behavior for 'default' workload limits I/O performance.
- Solution:
- Set proper default (normal caching).
- Problem-ID:
- 5409
- Description:
- dasd: BUG when pulling/plug in fibers associated with ESS.
- Symptom:
- BUG in dasd ERP leads to kernel panic.
- Problem:
- The (paranoia) macro in dasd_3990_erp_alternate_path assumes that the status of the request is ERROR, but it might also be FILLED (if the situation happens the first time)
- Solution:
- Only reduce status to QUEUED (do not enhance)
- Problem-ID:
- 5702
- Description:
- dasd: Massive workload combined with ESS FlashCopy leading to I/O hang.
- Symptom:
- FlashCopy I/O hang
- Problem:
- State change interrupt handler checks only first request in cqr-queue, but in case the fastpath for start_IO was successful, it might happen that the second request is long busy.
- Solution:
- Check the whole cqr-queue for long busy.
- Problem-ID:
- 4676
- Description:
- iucv: Disable message interrupts during connection setup
- Symptom:
- --
- Problem:
- --
- Solution:
- Honor incoming connection severed during connection setup.
- Problem-ID:
- 5912
- Note:
- This patch introduces a problem that is resolved with the fix for Problem-ID 6631 in linux-2.4.17-s390-13.diff (2004-03-24).
- Description:
- z90crypt: Unnecessary restriction to length of inputdata for MEX request
- Symptom:
- errno = EINVAL for valid data
- Problem:
- checking for even inputdatalength for both CRT and MEX request
- Solution:
- only check for CRT request
- Problem-ID:
- 5633
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
Note: If On-demand timer is
required, apply on top of above patches:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
+ linux-2.4.17-s390-9.diff (IBM)
+ linux-2.4.17-s390-10.diff (IBM)
+ linux-2.4.17-s390-11.diff (IBM)
+ linux-2.4.17-s390-12.diff (IBM)
+ linux-2.4.17-timer-7.diff (IBM)
Note: If you apply this patch and are using iucv you may run into Problem-ID 6631, the fix for which is included in linux-2.4.17-s390-13.diff (2004-03-24).
2004-01-26 kernel 2.4.7 for the "August 2001 stream"
- kernel 2.4.7 ("August 2001", 2004-01-26)
- accumulated patch: linux-2.4.7-s390-17.tar.gz MD5 recommended(2004-01-26)
- per-problem-patches: linux-2.4.7-s390-17-patches.tar.gz MD5 recommended (2004-01-26)
These patches contain the following Linux kernel bug fixes:
- Description:
- dasd: Driver sets improper default cache mode on ESS
- Symptom:
- Performance limitation.
- Problem:
- Suboptimal caching behavior for 'default' workload limits I/O performance.
- Solution:
- Set proper default (normal caching).
- Problem-ID:
- 5409
- Description:
- dasd: BUG when pulling/plug in fibers associated with ESS.
- Symptom:
- BUG in dasd ERP leads to kernel panic.
- Problem:
- The (paranoia) macro in dasd_3990_erp_alternate_path assumes that the status of the request is ERROR, but it might also be FILLED (if the situation happens the first time)
- Solution:
- Only reduce status to QUEUED (do not enhance)
- Problem-ID:
- 5702
- Description:
- dasd: Massive workload combined with ESS FlashCopy leading to I/O hang.
- Symptom:
- FlashCopy I/O hang
- Problem:
- State change interrupt handler checks only first request in cqr-queue, but in case the fastpath for start_IO was successful, it might happen that the second request is long busy.
- Solution:
- Check the whole cqr-queue for long busy.
- Problem-ID:
- 4676
- Description:
- iucv: Disable message interrupts during connection setup
- Symptom:
- --
- Problem:
- --
- Solution:
- Honor incoming connection severed during connection setup.
- Problem-ID:
- 5912
- Note:
- This patch introduces a problem that is resolved with the fix for Problem-ID 6631 in linux-2.4.7-s390-18.diff (2004-03-24).
- Description:
- z90crypt: Unnecessary restriction to length of inputdata for MEX request
- Symptom:
- errno = EINVAL for valid data
- Problem:
- checking for even inputdatalength for both CRT and MEX request
- Solution:
- only check for CRT request
- Problem-ID:
- 5633
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
+ linux-2.4.7-s390-13.diff (IBM)
+ linux-2.4.7-s390-14.diff (IBM)
+ linux-2.4.7-s390-15.diff (IBM)
+ linux-2.4.7-s390-16.diff (IBM)
+ linux-2.4.7-s390-17.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-8.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-7.diff (IBM)
Note: If you apply this patch and are using iucv you may run into Problem-ID 6631, the fix for which is included in linux-2.4.7-s390-18.diff (2004-03-24).
2003-12-05 kernel 2.4.17 for the "August 2001 stream"
- kernel 2.4.17 ("August 2001", 2003-12-05)
- accumulated patch: linux-2.4.17-s390-11.tar.gz MD5 recommended (2003-12-05)
- per-problem-patches: linux-2.4.17-s390-11-patches.tar.gz MD5 recommended (2003-12-05)
These patches contain the following Linux kernel bug fixes:
- Description:
- Crashes, triggered by iucv and ctc when calling dst_link_failure()
- Symptom:
- Miscellaneous crashes, triggered by calling dst_link_failure()
- Problem:
- Calling dst_link_failure() triggers a bug in common code.
- Solution:
- Removed call of dst_link_failure() in both netiucv.c and ctcmain.c
- Problem-ID:
- 5098
- Description:
- Fixed S390 Debug Feature usage.
- Symptom:
- Segmentation fault when DBF file is read.
- Problem:
- The sprintf event/exception functions write a pointer to the format string (%s) into the log. This means that the string must be valid at the time the DBF-log is read.
- Solution:
- Don't write 'volatile' strings to DBF.
- Problem-ID:
- 4822
- Description:
- Unable to reconnect when using z/VM 3.1 at remote peer.
- Symptom:
- When peer interface was recycled, iucv is unable to reconnect.
- Problem:
- Incoming message interrupt during setup leads to illegal driver state.
- Solution:
- Disable all interrupts during setup
- Problem-ID:
- 3061
- Description:
- crashes triggered by s390 network drivers calling dst_link_failure
- Symptom:
- crashes, bugs in icmp.c
- Problem:
- network driver called dst_link_failure
- Solution:
- remove dst_link_failure call
- Problem-ID:
- 5108
- Description:
- ctc: loglevel parameter could not be set to maximum
- Symptom:
- Numbers with more than 1 digit are ignored when writing to /proc/net/ctc/ctc0/loglevel
- Problem:
- Check for maximum string length was wrong.
- Solution:
- Corrected check for maximum string length.
- Problem-ID:
- 4342
- Description:
- reduce stack usage (for qeth: export show_trace symbol)
- Symptom:
- symlink loops on NFS share causes oops
- Problem:
- stack overflow
- Solution:
- reduce stack usage by inlining some functions and check for stack usage. Export show_trace symbol which is needed for the corresponding qeth fix.
- Problem-ID:
- 3344
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
+ linux-2.4.17-s390-9.diff (IBM)
+ linux-2.4.17-s390-10.diff (IBM)
+ linux-2.4.17-s390-11.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.17-timer-7.diff (IBM)
- On-demand timer patch kernel 2.4.17 ("August 2001",
2003-12-05)
Release notes: Adaption to above 2003-12-05 kernel-patch.
linux-2.4.17-timer-7.tar.gz MD5 recommended (2003-12-05)
This patch is a complete replacement of the patch contained in linux-2.4.17-timer-6.tar.gz shipped on 2003-09-04.
This patch is functionaly equivalent to the 2003-09-04 patch.On demand timer patch:
To create the complete linux kernel sources, apply all IBM kernel 2.4.17 patches on top of linux-2.4.17.tar.gz (see www.kernel.org) and as last patch
Contains a patch for the linux kernel 2.4.17 that changes the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The drawback is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_IDLE_HZ_TIMER that lets you choose between the old and the new behavior. Note that you'll need different qdio, qeth and tape_3590_mod modules if you use the no hz timer option.+ linux-2.4.17-timer-7.diff (IBM)
2003-12-05 OCO modules (kernel 2.4.17) for the "August 2001 stream"
- qdio kernel 2.4.17 ("August 2001", 2003-12-05)
31-bit: qdio-2.4.17-s390-7.tar.gz MD5 and qdio-2.4.17-s390-7-timer.tar.gz MD5 (2003-12-05)
64-bit: qdio-2.4.17-s390x-7.tar.gz MD5 and qdio-2.4.17-s390x-7-timer.tar.gz MD5 (2003-12-05)
The qdio 31-bit and 64-bit OCO-modules of 2003-12-05 are replacements for the 2003-07-07 recommended qdio modules.
- qeth kernel 2.4.17 ("August 2001", 2003-12-05)
31-bit: qeth-2.4.17-s390-7.tar.gz MD5 and qeth-2.4.17-s390-7-timer.tar.gz MD5 (2003-12-05)
64-bit: qeth-2.4.17-s390x-7.tar.gz MD5 and qeth-2.4.17-s390x-7-timer.tar.gz MD5 (2003-12-05)
The qeth 31-bit and 64-bit OCO-modules of 2003-12-05 are replacements for the 2003-07-07 recommended qeth modules containing the below bug fixes.
- Description:
- spinlock problem with unsupported ioctls in qeth
- Symptom:
- deadlock in ioctl of unsupported ioctl of qeth
- Problem:
- spinlock was not released
- Solution:
- release spinlock before leaving function
- Problem-ID:
- 3287
- Description:
- reduce stack usage
- Symptom:
- symlink loops on NFS share causes oops
- Problem:
- stack overflow
- Solution:
- reduce stack usage by inlining some functions and check for stack usage
- Problem-ID:
- 3344
- Description:
- avoid hang during initialization on I/O errors
- Symptom:
- system hangs when initializing
- Problem:
- on I/O errors, a lock was not released
- Solution:
- release the lock
- Problem-ID:
- 4971
- Description:
- crashes triggered by s390 network drivers calling dst_link_failure
- Symptom:
- crashes, bugs in icmp.c
- Problem:
- network driver called dst_link_failure
- Solution:
- remove dst_link_failure call
- Problem-ID:
- 5108
- Description:
- VIPA and Proxy ARP problems on qeth
- Symptom:
- add_rxip4, add_vipa4 etc. do not work
- Problem:
- control flags not set correctly, netmask bad for VSWITCH
- Solution:
- fixed flags, use 0 as default netmask
- Problem-ID:
- 5178
- kernel 2.4.7 ("August 2001", 2003-12-05)
- accumulated patch: linux-2.4.7-s390-16.tar.gz MD5 recommended(2003-12-05)
- per-problem-patches: linux-2.4.7-s390-16-patches.tar.gz MD5 recommended (2003-12-05)
- Description:
- Crashes, triggered by iucv and ctc when calling dst_link_failure()
- Symptom:
- Miscellaneous crashes, triggered by calling dst_link_failure()
- Problem:
- Calling dst_link_failure() triggers a bug in common code.
- Solution:
- Removed call of dst_link_failure() in both netiucv.c and ctcmain.c
- Problem-ID:
- 5098
- Description:
- Incorrect calculation of max_blocks in DIAG discipline
- Symptom:
- BUG in dasd_alloc_request
- Problem:
- Maximum size request can not be handled by dasd device driver.
- Solution:
- Make sure the request size fits (correct calculation).
- Problem-ID:
- 4922
- Note:
- applicable for 31-bit Linux, only
- Description:
- Unable to reconnect when using z/VM 3.1 at remote peer.
- Symptom:
- When peer interface was recycled, iucv is unable to reconnect.
- Problem:
- Incoming message interrupt during setup leads to illegal driver state.
- Solution:
- Disable all interrupts during setup
- Problem-ID:
- 3061
- Description:
- crashes triggered by s390 network drivers calling dst_link_failure
- Symptom:
- crashes, bugs in icmp.c
- Problem:
- network driver called dst_link_failure
- Solution:
- remove dst_link_failure call
- Problem-ID:
- 5108
- Description:
- ctc: loglevel parameter could not be set to maximum
- Symptom:
- Numbers with more than 1 digit are ignored when writing to /proc/net/ctc/ctc0/loglevel
- Problem:
- Check for maximum string length was wrong.
- Solution:
- Corrected check for maximum string length.
- Problem-ID:
- 4342
- qdio kernel 2.4.7 ("August 2001", 2003-12-05)
31-bit: qdio-2.4.7-s390-14.tar.gz MD5 and qdio-2.4.7-s390-14-timer.tar.gz MD5 (2003-12-05)
64-bit: qdio-2.4.7-s390x-14.tar.gz MD5 and qdio-2.4.7-s390x-14-timer.tar.gz MD5 (2003-12-05)
The qdio 31-bit and 64-bit OCO-modules of 2003-12-05 are replacements for the 2003-07-07 recommended qdio modules.
- qeth kernel 2.4.7 ("August 2001", 2003-12-05)
31-bit: qeth-2.4.7-s390-14.tar.gz MD5 and qeth-2.4.7-s390-14-timer.tar.gz MD5 (2003-12-05)
64-bit: qeth-2.4.7-s390x-14.tar.gz MD5 and qeth-2.4.7-s390x-14-timer.tar.gz MD5 (2003-12-05)
The qeth 31-bit and 64-bit OCO-modules of 2003-12-05 are replacements for the 2003-07-07 recommended qeth modules containing the below bug fixes.
- Description:
- spinlock problem with unsupported ioctls in qeth
- Symptom:
- deadlock in ioctl of unsupported ioctl of qeth
- Problem:
- spinlock was not released
- Solution:
- release spinlock before leaving function
- Problem-ID:
- 3287
- Description:
- reduce stack usage
- Symptom:
- symlink loops on NFS share causes oops
- Problem:
- stack overflow
- Solution:
- reduce stack usage by inlining some functions and check for stack usage
- Problem-ID:
- 3344
- Description:
- avoid hang during initialization on I/O errors
- Symptom:
- system hangs when initializing
- Problem:
- on I/O errors, a lock was not released
- Solution:
- release the lock
- Problem-ID:
- 4971
- Description:
- crashes triggered by s390 network drivers calling dst_link_failure
- Symptom:
- crashes, bugs in icmp.c
- Problem:
- network driver called dst_link_failure
- Solution:
- remove dst_link_failure call
- Problem-ID:
- 5108
- Description:
- VIPA and Proxy ARP problems on qeth
- Symptom:
- add_rxip4, add_vipa4 etc. do not work
- Problem:
- control flags not set correctly, netmask bad for VSWITCH
- Solution:
- fixed flags, use 0 as default netmask
- Problem-ID:
- 5178
- kernel 2.4.17 ("August 2001", 2003-09-04)
- accumulated patch: linux-2.4.17-s390-10.tar.gz MD5 recommended (2003-09-04)
- per-problem-patches: linux-2.4.17-s390-10-patches.tar.gz MD5 recommended (2003-09-04)
- Description:
- <ccwcache>: Incorrect cache index determination
- Symptom:
- random kernel oops
- Problem:
- The incorrect comparison caused the wrong cache line to be selected for maximum size requests.
- Solution:
- fixed the comparison
- Problem-ID:
- 3450
- Description:
- siginfo_t structure on user stack incorrect.
- Symptom:
- Unwinding over a rt signal frame crashes user programs.
- Problem:
- The kernel definition of the siginfo_t structure for s390x is 136 bytes long instead of the correct length of 128. The kernel will create a stack frame for rt signal that the unwind code can't process.
- Solution:
- Reduce the size of the _pad array.
- Problem-ID:
- 3490
- Note:
- applicable for 64-bit Linux, only
- Description:
- dasd: erroneous message about failing dasd format
- Symptom:
- When hitting CTRL-S/CTRL-Q during a dasd format /var/log/messages shows a message like: dasd: /dev/dasdv ( 94: 84),4324@1a42: Formatting of unit 1420 failed with rc = -512
- Problem:
- The return code of dasd_sleep_on_request is not checked properly.
- Solution:
- Suppress message when return code of dasd_sleep_on_request returns -ERESTARTSYS.
- Problem-ID:
- 3847
- Description:
- dasd_diag: buggy CMS label recognition in fs/partitions/ibm.c
- Symptom:
- CMS reserved minidisk detection doesn't work as expected
- Problem:
- CMS label is read from page, that had been freed before
- Solution:
- no longer use freed storage for CMS label recognition
- Problem-ID:
- 3611
- Description:
- crash when using ctc tty with gcov
- Symptom:
- See description
- Problem:
- Invalid use of netif_stop_queue() and netif_wake_queue() for ctc ttys
- Solution:
- code fixed
- Problem-ID:
- 4174
- Description:
- Oops in iucv code
- Symptom:
- Crash with kernel oops when shutting down an iucv connection
- Problem:
- Interrupt buffer was released too early
- Solution:
- Moved call of iucv_retrieve_buffer() into iucv_exit()
- Problem-ID:
- 3314
- On-demand timer patch kernel 2.4.17 ("August 2001",
2003-09-04)
Release notes: Adaption to above 2003-09-04 kernel-patch.
linux-2.4.17-timer-6.tar.gz MD5 recommended (2003-09-04) (superseded)
This patch is a complete replacement of the patch contained in linux-2.4.17-timer-5.tar.gz shipped on 2003-07-07.On demand timer patch:
Contains a patch for the linux kernel 2.4.17 that changes the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The drawback is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_IDLE_HZ_TIMER that lets you choose between the old and the new behavior. Note that you'll need different qdio, qeth and tape_3590_mod modules if you use the no hz timer option. - Description:
- missing local irq disable
- Symptom:
- CPUs are idle even if system is under full load
- Problem:
- race condition in cpu_idle that results in lost reschedule events
- Solution:
- protect with local irq disable
- Problem-ID:
- 2914
- kernel 2.4.7 ("August 2001", 2003-09-04)
- accumulated patch: linux-2.4.17-s390-15.tar.gz MD5 recommended(2003-09-04)
- per-problem-patches: linux-2.4.17-s390-15-patches.tar.gz MD5 recommended (2003-09-04)
- Description:
- <ccwcache>: Incorrect cache index determination
- Symptom:
- random kernel oops
- Problem:
- The incorrect comparison caused the wrong cache line to be selected for maximum size requests.
- Solution:
- fixed the comparison
- Problem-ID:
- 3450
- Description:
- siginfo_t structure on user stack incorrect.
- Symptom:
- Unwinding over a rt signal frame crashes user programs.
- Problem:
- The kernel definition of the siginfo_t structure for s390x is 136 bytes long instead of the correct length of 128. The kernel will create a stack frame for rt signal that the unwind code can't process.
- Solution:
- Reduce the size of the _pad array.
- Problem-ID:
- 3490
- Note:
- applicable for 64-bit Linux, only
- Description:
- dasd: erroneous message about failing dasd format
- Symptom:
- When hitting CTRL-S/CTRL-Q during a dasd format /var/log/messages shows a message like: dasd: /dev/dasdv ( 94: 84),4324@1a42: Formatting of unit 1420 failed with rc = -512
- Problem:
- The return code of dasd_sleep_on_request is not checked properly.
- Solution:
- Suppress message when return code of dasd_sleep_on_request returns -ERESTARTSYS.
- Problem-ID:
- 3847
- Description:
- dasd_diag: buggy CMS label recognition in fs/partitions/ibm.c
- Symptom:
- CMS reserved minidisk detection doesn't work as expected
- Problem:
- CMS label is read from page, that had been freed before
- Solution:
- no longer use freed storage for CMS label recognition
- Problem-ID:
- 3611
- Description:
- crash when using ctc tty with gcov
- Symptom:
- See description
- Problem:
- Invalid use of netif_stop_queue() and netif_wake_queue() for ctc ttys
- Solution:
- code fixed
- Problem-ID:
- 4174
- Description:
- Oops in iucv code
- Symptom:
- Crash with kernel oops when shutting down an iucv connection
- Problem:
- Interrupt buffer was released too early
- Solution:
- Moved call of iucv_retrieve_buffer() into iucv_exit()
- Problem-ID:
- 3314
- On demand timer ("August 2001", 2003-09-04)
Release notes: Adaption to above 2003-09-04 kernel-patch.
linux-2.4.7-timer-8.tar.gz MD5 recommended (2003-09-04)
This patch is a complete replacement of the patch contained in linux-2.4.7-timer-7.tar.gz shipped on 2003-07-07.Category operating system.
Contains a patch for the linux kernel 2.4.7 that changes the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The drawback is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_IDLE_HZ_TIMER that lets you choose between the old and the new behavior. Note that you'll need different qdio, qeth and tape_3590_mod modules if you use the no hz timer option. - Description:
- missing local irq disable
- Symptom:
- CPUs are idle even if system is under full load
- Problem:
- race condition in cpu_idle that results in lost reschedule events
- Solution:
- protect with local irq disable
- Problem-ID:
- 2914
- Order-2 ("August 2001", 2003-09-04)
linux-2.4.7-order2-7.tar.gz MD5 recommended (2003-09-04) (superseded)
The "order 2 allocation relief" patch is a complete replacement of the recommended patch shipped on 2003-07-07. This patch is functionaly equivalent to the 2003-07-07 patch. The original patch decreased the kernel stack size to 8KB which turned out to be not enough. As a side-effect of this new patch there is no longer a need for special OCO-modules and the timer patch can be applied to the same kernel.
- This patch is very s/390 specific, but doesn't break other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel, but can also be applied if you intend to build a 31-bit kernel.
- This patch is compatible with the "On-demand timer patch" and does not require special OCO modules.
To create the complete linux kernel sources, apply all IBM kernel 2.4.7 patches on top of linux-2.4.7.tar.gz (see www.kernel.org) and as last patch
+ linux-2.4.7-order2-7.diff (IBM), or on top of linux-2.4.7-timer-8.diff (IBM) if timer is required. - kernel 2.4.17 ("August 2001", 2003-07-07)
- accumulated patch: linux-2.4.17-s390-9.tar.gz MD5 recommended(2003-07-07)
- per-problem-patches: linux-2.4.17-s390-9-patches.tar.gz MD5 recommended (2003-07-07)
- Description:
- kernel: s390dbf - invalid call of create_proc_entry() within spin_lock_irqsave() section
- Symptom:
- Kernel hang when registering a s390dbf view in low memory situations
- Problem:
- It is not allowed to call kmalloc() with GFP_KERNEL when interrupts are disabled! create_proc_entry() calls kmalloc(). create_proc_entry() is called when interrupts are disabled.
- Solution:
- Call create_proc_entry() before critical section is entered and before interrupts are disabled
- Problem-ID:
- 2719
- Description:
- Address space switching instruction in user space does not fault.
- Symptom:
- System crash due to cpus entering an endless program check loop.
- Problem:
- A non-priviledged instruction which can change the primary space origin is not fenched correctly.
- Solution:
- Set control register 5 to some value unequal to zero.
- Problem-ID:
- 2893
- Description:
- dasd: Problems when echoing invalid devno to /proc/dasd/devices.
- Symptom:
- Linux hangs when non-existing device is 'set off'.
- Problem:
- The spinlock was not released in error path.
- Solution:
- Release the spinlock.
- Problem-ID:
- 2927
- Description:
- /proc/cio_ignore parsing.
- Symptom:
- Piping various combinations of device ranges and device numbers to /proc/cio_ignore leads to "illegal operation" or "Trying to vfree() bad address".
- Problem:
- Parser called from /proc/cio_ignore didn't work properly.
- Solution:
- Backport working /proc/cio_ignore parser from 2.5.
- Problem-ID:
- 2934
- Description:
- CTC: System hang on shutdown of remote OS/390
- Symptom:
- Shutting down a remotely connected OS/390 system causes a system hang.
- Problem:
- Receiving garbage data from remote was not properly handled.
- Solution:
- Added additional validation of received data.
- Problem-ID:
- 2314
- Description:
- Clearing of .bss section.
- Symptom:
- Kernel compiled with gcc 3.3 doesn't work.
- Problem:
- gcc 3.3 puts global variables with an initial value of zero to the .bss section. gcc < 3.3 puts these variables to the .data section. This makes a difference because the clearing of the .bss section is done after the store of the detected memory size to memory_size.
- Solution:
- Move clearing of the .bss section before the memory detection.
- Problem-ID:
- 3135
- Description:
- Fixed-point divide exception in boot process.
- Symptom:
- Kernel crashes with a fixed-point device exception.
- Problem:
- The clock comparator interrupt is enabled before the clock comparator is set to its initial value. If the system is started without doing a system clear first, the clock comparator may still have an old value. The clock comparator can then interrupt too early.
- Solution:
- Initialise clock comparator first, then enable the clock comparator interrupt.
- Problem-ID:
- 3137
- Description:
- chandev configuration
- Symptom:
- Argument errors when writing to /proc/chandev.
- Problem:
- The parsing of the auto_msck and del_auto_msck verbs is broken because of missing breaks in a switch statement.
- Solution:
- Add breaks.
- Problem-ID:
- 3139
- Description:
- Many iucv devices.
- Symptom:
- Deadlock when starting more than 160 iucv devices.
- Problem:
- iucv_connect allocates an iparml_control structure to do the iucv connect. Between the allocation and the release of the structure an iucv_setmask is done which needs a iparml_control element too. If 160 iucv connection are started simultaneously all iparml_control structures are allocated and iucv_setmask loops indefinitly in grab_param.
- Solution:
- Release iparml_control structure immediatly after connect.
- Problem-ID:
- 3140
- Description:
- Module loader.
- Symptom:
- Module load fails with error messages "init_module: changed module name ...".
- Problem:
- There are two problem in the kernel module code. 1) A size-check in sys_create_module is off by one byte. 2) sys_init_module checks the module name using a buffer that might have been overwritten. This happens if the struct module used by insmod is larger than the one used by the kernel (e.g. modutils with the gcov patch).
- Solution:
- Correct the two checks.
- Problem-ID:
- 3141
- Description:
- noop elevator
- Symptom:
- Performance improvement.
- Problem:
- The dasd driver shouldn't use an elevator algorithm because the emulation of a dasd devices in the storage subsystems removes any potential for disk head optimization.
- Solution:
- Enable the no-op elevator.
- Problem-ID:
- 3142
- Description:
- vmalloc with user specified length.
- Symptom:
- Error message "kernel BUG at vmalloc.c"
- Problem:
- cio_ignore_proc_write calls vmalloc with an arbitrary user specified length. If the user passes a value that exceeds the memory size a BUG() is triggered in vmalloc.c.
- Solution:
- Limit user specified length to 64K.
- Problem-ID:
- 3143
- Description:
- memory management: dirty bit clearing.
- Symptom:
- I/O errors on read only disks.
- Problem:
- The dirty bit for a new page needs to get set to zero. So far this is done in mk_pte/set_pte. The call to mk_pte for the first user of a page sets a bit in the pte that causes set_pte to clear the dirty bit. This is a race condition if two processes want to access the same page simultaneously.
- Solution:
- Move dirty bit clearing from mk_pte() to SetPageUptodate().
- Problem-ID:
- 3144
- Description:
- starting a LCS network device with specific module parameters causes an address exception
- Symptom:
- 1. start LCS module with parameter model_no=1 and
rel_adapter_no=1
2. starting the LCS network device causes an address exception - Problem:
- init_waitqueue_head was not called for a lanstat_wait in kernel version > 2.3.0
- Solution:
- call init_waitqueue_head for kernel version >= 2.3.0
- Problem-ID:
- 3158
- Description:
- Deadlock in memory management code.
- Symptom:
- Mapping and accessing memory on a 64 bit zLinux system that requires a full segment table can lead to a deadlock if the system is low on memory.
- Problem:
- The extension of a half-sized pmd (8K) to a full-sized pmd (16K) requires the allocation of 4 consequitive pages. If the system starts swapping to allocate these 4 pages and touches the page table the reallocation is done for it deadlocks on the page table lock.
- Solution:
- Release the page table lock in pgd_populate before calling __get_free_pages.
- Problem-ID:
- 3231
- Description:
- xpram parameter parsing.
- Symptom:
- The xpram driver doesn't accept hexadecimal sizes on the xpram_parts parameter with a single digit after the 0x.
- Problem:
- The check in xpram_int_format that determines if a number is in hexadecimal is broken.
- Solution:
- Fix the check for hexadecimal numbers.
- Problem-ID:
- 3284
- On-demand timer patch kernel 2.4.17 ("August 2001",
2003-07-07)
linux-2.4.17-timer-5.tar.gz MD5 recommended (2003-07-07) (superseded)
On demand timer patch:
Contains a patch for the linux kernel 2.4.17 that changes the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The drawback is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_IDLE_HZ_TIMER that lets you choose between the old and the new behavior. Note that you'll need different qdio, qeth and tape_3590_mod modules if you use the no hz timer option.This patch is a complete replacement of the patch contained in linux-2.4.17-timer-4.tar.gz shipped on 2003-02-20.
This patch is functionaly equivalent to the 2003-02-20 patch.To create the complete linux kernel sources, apply all IBM kernel 2.4.17 patches on top of linux-2.4.17.tar.gz (see www.kernel.org) and as last patch
+ linux-2.4.17-timer-5.diff (IBM) - qdio kernel 2.4.17 ("August 2001", 2003-07-07)
31-bit: qdio-2.4.17-s390-6.tar.gz MD5 and qdio-2.4.17-s390-6-timer.tar.gz MD5 (2003-07-07) (superseded)
64-bit: qdio-2.4.17-s390x-6.tar.gz MD5 and qdio-2.4.17-s390x-6-timer.tar.gz MD5 (2003-07-07) (superseded)
The qdio 31-bit and 64-bit OCO-modules of 2003-07-07 are replacements for the 2003-02-20 recommended qdio modules.
- qeth kernel 2.4.17 ("August 2001", 2003-07-07)
31-bit: qeth-2.4.17-s390-6.tar.gz MD5 and qeth-2.4.17-s390-6-timer.tar.gz MD5 (2003-07-07) (superseded)
64-bit: qeth-2.4.17-s390x-6.tar.gz MD5 and qeth-2.4.17-s390x-6-timer.tar.gz MD5 (2003-07-07) (superseded)
The qeth 31-bit and 64-bit OCO-modules of 2003-07-07 are replacements for the 2003-02-20 recommended qeth modules containing the below bug fixes.
- Description:
- High percentage of dropped packets using UDP
- Symptom:
- qeth had high percentage of dropped UDP packets running on VM in V=V mode and also in V=R mode
- Problem-ID:
- 2574
- Description:
- qeth sent wrong command when doing ioctl
- Symptom:
- When issueing SIOCDEVPRIVATE+2, a wrong command code was sent to the card
- Problem-ID:
- 2545
- Description:
- Improper multicast IP housekeeping.
- Symptom:
- Msg on interface shutdown, cannot delete multicast IP
- Problem-ID:
- 2090
- kernel 2.4.7 ("August 2001", 2003-07-07)
- accumulated patch: linux-2.4.7-s390-14.tar.gz MD5 recommended(2003-07-07)
- per-problem-patches: linux-2.4.7-s390-14-patches.tar.gz MD5 recommended (2003-07-07)
- Description:
- kernel: s390dbf - invalid call of create_proc_entry() within spin_lock_irqsave() section
- Symptom:
- Kernel hang when registering a s390dbf view in low memory situations
- Problem:
- It is not allowed to call kmalloc() with GFP_KERNEL when interrupts are disabled! create_proc_entry() calls kmalloc(). create_proc_entry() is called when interrupts are disabled.
- Solution:
- Call create_proc_entry() before critical section is entered and before interrupts are disabled
- Problem-ID:
- 2719
- Description:
- Address space switching instruction in user space does not fault.
- Symptom:
- System crash due to cpus entering an endless program check loop.
- Problem:
- A non-priviledged instruction which can change the primary space origin is not fenched correctly.
- Solution:
- Set control register 5 to some value unequal to zero.
- Problem-ID:
- 2893
- Description:
- dasd: Problems when echoing invalid devno to /proc/dasd/devices.
- Symptom:
- Linux hangs when non-existing device is 'set off'.
- Problem:
- The spinlock was not released in error path.
- Solution:
- Release the spinlock.
- Problem-ID:
- 2927
- Description:
- /proc/cio_ignore parsing.
- Symptom:
- Piping various combinations of device ranges and device numbers to /proc/cio_ignore leads to "illegal operation" or "Trying to vfree() bad address".
- Problem:
- Parser called from /proc/cio_ignore didn't work properly.
- Solution:
- Backport working /proc/cio_ignore parser from 2.5.
- Problem-ID:
- 2934
- Description:
- CTC: System hang on shutdown of remote OS/390
- Symptom:
- Shutting down a remotely connected OS/390 system causes a system hang.
- Problem:
- Receiving garbage data from remote was not properly handled.
- Solution:
- Added additional validation of received data.
- Problem-ID:
- 2314
- Description:
- Clearing of .bss section.
- Symptom:
- Kernel compiled with gcc 3.3 doesn't work.
- Problem:
- gcc 3.3 puts global variables with an initial value of zero to the .bss section. gcc < 3.3 puts these variables to the .data section. This makes a difference because the clearing of the .bss section is done after the store of the detected memory size to memory_size.
- Solution:
- Move clearing of the .bss section before the memory detection.
- Problem-ID:
- 3135
- Description:
- Fixed-point divide exception in boot process.
- Symptom:
- Kernel crashes with a fixed-point device exception.
- Problem:
- The clock comparator interrupt is enabled before the clock comparator is set to its initial value. If the system is started without doing a system clear first, the clock comparator may still have an old value. The clock comparator can then interrupt too early.
- Solution:
- Initialise clock comparator first, then enable the clock comparator interrupt.
- Problem-ID:
- 3137
- Description:
- chandev configuration
- Symptom:
- Argument errors when writing to /proc/chandev.
- Problem:
- The parsing of the auto_msck and del_auto_msck verbs is broken because of missing breaks in a switch statement.
- Solution:
- Add breaks.
- Problem-ID:
- 3139
- Description:
- Many iucv devices.
- Symptom:
- Deadlock when starting more than 160 iucv devices.
- Problem:
- iucv_connect allocates an iparml_control structure to do the iucv connect. Between the allocation and the release of the structure an iucv_setmask is done which needs a iparml_control element too. If 160 iucv connection are started simultaneously all iparml_control structures are allocated and iucv_setmask loops indefinitly in grab_param.
- Solution:
- Release iparml_control structure immediatly after connect.
- Problem-ID:
- 3140
- Description:
- Module loader.
- Symptom:
- Module load fails with error messages "init_module: changed module name ...".
- Problem:
- There are two problem in the kernel module code. 1) A size-check in sys_create_module is off by one byte. 2) sys_init_module checks the module name using a buffer that might have been overwritten. This happens if the struct module used by insmod is larger than the one used by the kernel (e.g. modutils with the gcov patch).
- Solution:
- Correct the two checks.
- Problem-ID:
- 3141
- Description:
- noop elevator
- Symptom:
- Performance improvement.
- Problem:
- The dasd driver shouldn't use an elevator algorithm because the emulation of a dasd devices in the storage subsystems removes any potential for disk head optimization.
- Solution:
- Enable the no-op elevator.
- Problem-ID:
- 3142
- Description:
- vmalloc with user specified length.
- Symptom:
- Error message "kernel BUG at vmalloc.c"
- Problem:
- cio_ignore_proc_write calls vmalloc with an arbitrary user specified length. If the user passes a value that exceeds the memory size a BUG() is triggered in vmalloc.c.
- Solution:
- Limit user specified length to 64K.
- Problem-ID:
- 3143
- Description:
- memory management: dirty bit clearing.
- Symptom:
- I/O errors on read only disks.
- Problem:
- The dirty bit for a new page needs to get set to zero. So far this is done in mk_pte/set_pte. The call to mk_pte for the first user of a page sets a bit in the pte that causes set_pte to clear the dirty bit. This is a race condition if two processes want to access the same page simultaneously.
- Solution:
- Move dirty bit clearing from mk_pte() to SetPageUptodate().
- Problem-ID:
- 3144
- Description:
- starting a LCS network device with specific module parameters causes an address exception
- Symptom:
- 1. start LCS module with parameter model_no=1 and
rel_adapter_no=1
2. starting the LCS network device causes an address exception - Problem:
- init_waitqueue_head was not called for a lanstat_wait in kernel version > 2.3.0
- Solution:
- call init_waitqueue_head for kernel version >= 2.3.0
- Problem-ID:
- 3158
- Description:
- xpram parameter parsing.
- Symptom:
- The xpram driver doesn't accept hexadecimal sizes on the xpram_parts parameter with a single digit after the 0x.
- Problem:
- The check in xpram_int_format that determines if a number is in hexadecimal is broken.
- Solution:
- Fix the check for hexadecimal numbers.
- Problem-ID:
- 3284
- On demand timer ("August 2001", 2003-07-07)
Release notes: Adaption to above 2003-07-07 kernel-patch
linux-2.4.7-timer-7.tar.gz MD5 recommended(2003-07-07) (superseded)Category operating system.
Contains a patch for the linux kernel 2.4.7 that changes the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The drawback is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_IDLE_HZ_TIMER that lets you choose between the old and the new behavior. Note that you'll need different qdio, qeth and tape_3590_mod modules if you use the no hz timer option.This patch is a complete replacement of the patch contained in linux-2.4.7-timer-6.tar.gz shipped on 2003-02-20.
This patch is functionaly equivalent to the 2003-02-20 patch.
To create the complete linux kernel sources, apply all IBM kernel 2.4.7 patches on top of linux-2.4.7.tar.gz (see www.kernel.org) and as last patch
+ linux-2.4.7-timer-7.diff (IBM) - Order-2 ("August 2001", 2003-07-07)
linux-2.4.7-order2-6.tar.gz MD5 recommended (2003-07-07) (superseded)
The "order 2 allocation relief" patch is a complete replacement of the recommended patch shipped on 2003-02-20.
This patch is functionaly equivalent to the 2003-02-20 patch.
The original patch decreased the kernel stack size to 8KB which turned out to be not enough.
As a side-effect of this new patch there is no longer a need for special OCO-modules and the timer patch can be applied to the same kernel.
- This patch is very s/390 specific, but doesn't break other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel, but can also be applied if you intend to build a 31-bit kernel.
- This patch is compatible with the "On-demand timer patch" and does not require special OCO modules.
To create the complete linux kernel sources, apply all IBM kernel 2.4.7 patches on top of linux-2.4.7.tar.gz (see www.kernel.org) and as last patch
+ linux-2.4.7-order2-6.diff (IBM), or on top oflinux-2.4.7-timer-7.diff (IBM)if timer is required. - qdio kernel 2.4.7 ("August 2001", 2003-07-07)
31-bit: qdio-2.4.7-s390-13.tar.gz MD5 and qdio-2.4.7-s390-13-timer.tar.gz MD5 (2003-07-07) (superseded)
64-bit: qdio-2.4.7-s390x-13.tar.gz MD5 and qdio-2.4.7-s390x-13-timer.tar.gz MD5 (2003-07-07) (superseded)
The qdio 31-bit and 64-bit OCO-modules of 2003-07-07 are replacements for the 2003-02-20 recommended qdio modules.
- qeth kernel 2.4.7 ("August 2001", 2003-07-07)
31-bit: qeth-2.4.7-s390-13.tar.gz MD5 and qeth-2.4.7-s390-13-timer.tar.gz MD5 (2003-07-07) (superseded)
64-bit: qeth-2.4.7-s390x-13.tar.gz MD5 and qeth-2.4.7-s390x-13-timer.tar.gz MD5 (2003-07-07) (superseded)
The qeth 31-bit and 64-bit OCO-modules of 2003-07-07 are replacements for the 2003-02-20 recommended qeth modules containing the below bug fixes.
- Description:
- High percentage of dropped packets using UDP
- Symptom:
- Problem-ID:
- 2574
- Description:
- qeth sent wrong command when doing ioctl
- Symptom:
- When issueing SIOCDEVPRIVATE+2, a wrong command code was sent to the card
- Problem-ID:
- 2545
- Description:
- Improper multicast IP housekeeping.
- Symptom:
- Msg on interface shutdown, cannot delete multicast IP
- Problem-ID:
- 2090
kernel 2.4.17 ("August 2001", 2003-04-16)
- accumulated patch: linux-2.4.17-s390-8.tar.gz MD5 recommended (2003-04-16)
- per-problem-patches: linux-2.4.17-s390-8-patches.tar.gz MD5 recommended (2003-04-16)
Note: In addition to the usual tarball containing one large "accumulated" patch we now provide another tarball, containing a set of "per-problem-patches" which when combined correspond to the accumulated patch.
- Description:
- dasd: IFCC handling fixed
- Symptom:
- IO errors after interface control check
- Problem:
- dasd interrupt handler does recognize an interface control check and triggers the error recovery mechanism but does not provide sense data (none available) which cannot be handled by the error recovery.
- Solution:
- retry the request
- Problem-ID:
- 2167
- Description:
- dasd: discipline load order problem (with DIAG)
- Symptom:
- CMS RESERVED minidisks are accessed via ECKD discipline even if dasd_diag module was loaded.
- Problem:
- The discipline load order is responsible for the decision which discipline (ECKD or DIAG) is used to access CMS RESERVED minidisks.
- Solution:
- Load DIAG always to the beginning. This means that DIAG is used as soon as the module is loaded.
- Problem-ID:
- 2256
- Note:
- applicable for 31-bit Linux, only
- Description:
- cio: Handling of not operational paths.
- Symptom:
- Devices for which a path is not operational are not recognized.
- Problem:
- Only deferred cc=3 was handled correcty; cc=3 on ssch() with a specified lpm was always treated as device not operational (this only happens on some models).
- Solution:
- Make SensePGID and SetPGID handle cc=3 on ssch() correctly (switch off path and not device).
- Problem-ID:
- 2406
- Description:
- cio: oopses from debug feature.
- Symptom:
- Oops when looking at cio_msg dbf.
- Problem:
- s390_displayhex2, which was supposed to dump data into sprintf feature, didn't work.
- Solution:
- Replace s390_displayhex2 with directly dumping into cio_trace hex_ascii view.
- Problem-ID:
- 2409
- kernel 2.4.7 ("August 2001", 2003-04-16)
- accumulated patch linux-2.4.7-s390-13.tar.gz MD5 recommended (2003-04-16)
- per-problem-patches: linux-2.4.7-s390-13-patches.tar.gz MD5 recommended (2003-04-16)
Note: In addition to the usual tarball containing one large "accumulated" patch we now provide another tarball, containing a set of "per-problem-patches" which when combined correspond to the accumulated patch.
- Description:
- dasd: IFCC handling fixed
- Symptom:
- IO errors after interface control check
- Problem:
- dasd interrupt handler does recognize an interface control check and triggers the error recovery mechanism but does not provide sense data (none available) which cannot be handled by the error recovery.
- Solution:
- retry the request
- Problem-ID:
- 2167
- Description:
- dasd: discipline load order problem (with DIAG)
- Symptom:
- CMS RESERVED minidisks are accessed via ECKD discipline even if dasd_diag module was loaded.
- Problem:
- The discipline load order is responsible for the decision which discipline (ECKD or DIAG) is used to access CMS RESERVED minidisks.
- Solution:
- Load DIAG always to the beginning. This means that DIAG is used as soon as the module is loaded.
- Problem-ID:
- 2256
- Note:
- applicable for 31-bit Linux, only
- cio: Handling of not operational paths.
- Symptom:
- Devices for which a path is not operational are not recognized.
- Problem:
- Only deferred cc=3 was handled correcty; cc=3 on ssch() with a specified lpm was always treated as device not operational (this only happens on some models).
- Solution:
- Make SensePGID and SetPGID handle cc=3 on ssch() correctly (switch off path and not device).
- Problem-ID:
- 2406
- Description:
- cio: oopses from debug feature.
- Symptom:
- Oops when looking at cio_msg dbf.
- Problem:
- s390_displayhex2, which was supposed to dump data into sprintf feature, didn't work.
- Solution:
- Replace s390_displayhex2 with directly dumping into cio_trace hex_ascii view.
- Problem-ID:
- 2409
- kernel 2.4.17 ("August 2001", 2003-03-17)
- accumulated patch: linux-2.4.17-s390-7.tar.gz MD5 recommended (2003-03-17)
- per-problem-patches linux-2.4.17-s390-7-patches.tar.gz MD5 recommended (2003-03-17)
Note: In addition to the usual tarball containing one large "accumulated" patch we now provide another tarball, containing a set of "per-problem-patches" which when combined correspond to the accumulated patch.
- Description:
- DASD devices will not be set 'online' on slow/fast systems.
- Symptom:
- Root volume does not go online.
- Problem:
- Bottom half raises DASD state before main path.
- Solution:
- Extend scope of irq_lock to include change of state.
- Problem-ID:
- 1919
- Description:
- Fixes for low memory emergency IDAL handling.
- Symptom:
- Kernel might hang in low memory situations.
- Problem:
- Possible memory overwrite during emergency idal creation.
- Solution:
- Check if data fit into the available emergency IDAL page before writing them.
- Problem-ID:
- 2098
- Note:
- applicable for 64-bit Linux, only
- Description:
- DIAG250-disk on 64Bit system causes endless loop.
- Symptom:
- System hang when accessing DASD with diag250.
- Problem:
- Wrong preload of return code, used with diag250 exception.
- Solution:
- Preload a value of 11 instead of 3, causing an I/O error.
- Problem-ID:
- 1341
- Note:
- applicable for 64-bit Linux, only
- kernel 2.4.7 ("August 2001", 2003-03-17)
- accumulated patch: linux-2.4.7-s390-12.tar.gz MD5 recommended (2003-03-17)
- per-problem-patches linux-2.4.7-s390-12-patches.tar.gz MD5 recommended (2003-03-17)
Note: In addition to the usual tarball containing one large "accumulated" patch we now provide another tarball, containing a set of "per-problem-patches" which when combined correspond to the accumulated patch.
- Description:
- DASD driver statistics backport from 2.4.17
- Symptom:
- /proc/dasd/statistics is showing a bunch of zeros
- Problem:
- Missing functionality.
- Solution:
- Backport the functionality form 2.4.17 branch.
- Problem-ID:
- 1940
- Description:
- DASD devices will not be set 'online' on slow/fast systems.
- Symptom:
- Root volume does not go online.
- Problem:
- Bottom half raises DASD state before main path
- Solution:
- Extend scope of irq_lock to include change of state.
- Problem-ID:
- 1919
- Description:
- Fixes for low memory emergency IDAL handling.
- Symptom:
- Kernel might hang in low memory situations.
- Problem:
- Possible memory overwrite during emergency idal creation.
- Solution:
- Check if data fit into the available emergency IDAL page before writing them.
- Problem-ID:
- 2098
- Note:
- applicable for 64-bit Linux, only
- Description:
- DIAG250-disk on 64Bit system causes endless loop.
- Symptom:
- System hang when accessing DASD with diag250.
- Problem:
- Wrong preload of return code, used with diag250 exception.
- Solution:
- Preload a value of 11 instead of 3, causing an I/O error.
- Problem-ID:
- 1341
- Note:
- applicable for 64-bit Linux, only
- kernel 2.4.17 ("August 2001", 2003-02-20)
- accumulated patch: linux-2.4.17-s390-6.tar.gz MD5 recommended (2003-02-20)
- per-problem-patches: linux-2.4.17-s390-6-patches.tar.gz MD5 recommended (2003-02-20)
Note: In addition to the usual tarball containing one large "accumulated" patch we now provide another tarball, containing a set of "per-problem-patches" which when combined correspond to the accumulated patch.
- Description:
- 64 bit xpram driver.
- Symptom:
- 64 bit systems only see odd numbered xpram devices.
- Problem:
- The sizes array of the xpram driver is declared as 'unsigned long' but the block device layer accesses the array as 'unsigned int'.
- Solution:
- Use the correct type for the sizes array.
- Problem-ID:
- 1928
- Note:
- applicable for 64-bit Linux
- Description:
- Crashes in copy_to_user.
- Symptom:
- Kernel oops message.
- Problem:
- The fixup routine __copy_to_user that is called after an unresolvable fault of the mvcle instruction accesses the program check old psw and the translation exception address fields in the lowcore. But the program check handler may have already called schedule and another process may have overwritten this information.
- Solution:
- Don't rely on any information stored in the lowcore in the fixup routine of __copy_to_user.
- Problem-ID:
- 1923
- Description:
- Codepage conversion problem.
- Symptom:
- Input strings with certain length are not translated correctly.
- Problem:
- codepage_convert for strings with n*256+1 bytes only convert (n-1)*256+1 bytes because of an incorrect branch instruction.
- Solution:
- Correct branch instruction.
- Problem-ID:
- 1926
- Description:
- TLBs not flushed under heavy swapping.
- Symptom:
- Random memory corruption leading to program crashes or wrong data.
- Problem:
- The __flush_tlb_mm function sets the cpu_vm_mask to the current cpu if it does a global flush. This is wrong in the case the flush is done for a different mm than the current one for the cpu. The next flush can fail to remove the tlb another cpu has created for this mm.
- Solution:
- Reset cpu_vm_mask to the current cpu only if the mm is the active mm for this cpu and the cpu is the exclusive user for the mm.
- Problem-ID:
- 1924
- Description:
- Status pending handling.
- Symptom:
- Possibly all kinds of erratic behavior.
- Problem:
- Upon encountering a cc=1 (status pending) condition when trying to start an I/O operation, Linux called the common interrupt handler to process the pending status, but couldn't call the registered interrupt handler. This could lead to interrupts not reported to the device driver which contained important information.
- Solution:
- Only process cc=1 internally when doing sync. I/O; otherwise return -EBUSY and process the interrupt as soon as interrupts are enabled again.
- Problem-ID:
- 1844
- Description:
- Path not operational handling.
- Symptom:
- Paths with are fine appear as not operational.
- Problem:
- When Linux encountered a deferred condition code 3, or another not operational situation, it considered the path designated in the last path used mask (lpum) to be not operational and switched it off. However, (1) the lpum shows the last *successfully* used path, and (2) deferred cc 3 doesn't necessarily mean the path is not operational.
- Solution:
- Don't switch off paths for all devices, and switch off paths for a device only according to the path not operational mask (pnom).
- Problem-ID:
- 1614
- Description:
- Zero sense data.
- Symptom:
- Device drivers get confused by non-existent sense data.
- Problem:
- Zero sense data was obtained by the common I/O layer, but the DEVSTAT_SENSE_AVAIL flag is set.
- Solution:
- Reset DEVSTAT_SENSE_AVAIL if sense_count is zero.
- Problem-ID:
- 1615
- Description:
- Basic sense return code.
- Symptom:
- Zero sense data, lost interrupt information.
- Problem:
- The common I/O layer didn't check if starting the basic sense ccw was successful and therefore didn't realize the next incoming interrupt didn't signify the successful completion of the basic sense operation.
- Solution:
- Check return code of basic sense.
- Problem-ID:
- 1616
- Description:
- Synchronous isc not correctly set.
- Symptom:
- Linux runs into deadlock with all cpus in enable_cpu_sync_isc.
- Problem:
- When msch() fails to set the sync isc in enable_cpu_sync_isc and encounters a status pending, s390_process_IRQ() is called while the syncio bit is set for the subchannel. I/O called from there assumes it is synchronous and has isc 5 exclusively, which is not true and can lead into another subchannel trying to get the sync_isc lock.
- Solution:
- (1) Set the syncio flag only after a successful msch().
(2) Reset sync_isc_count and give up the sync_isc lock if sync isc is not set. - Problem-ID:
- 1618
- Description:
- 'mt' causing more than 511 skip commands fails.
- Symptom:
- Trying to skip more than 511 records or files with one 'mt' command will give an error message and cause the command to fail.
- Problem:
- The tape driver cannot handle more than 511 repetitions without special handling.
- Solution:
- Internally split these commands into several parts of 511.
- Problem-ID:
- 1554
- Description:
- Fixes for ESS DASD device support.
- Symptom:
- Various effects (from "not visible for user" up to "system hang").
- Problem:
- Error recovery problems in ESS DASD specific scenarios.
- Solution:
- Enhanced and fixed various ERP scenarios.
- Problem-ID:
- 1838
- Description:
- Memory allocations not checked.
- Symptom:
- Possible oopses or BUG()s (not observed yet).
- Problem:
- Failure to check if an allocation was successful. Missing flags.
- Solution:
- Check if allocation worked; clean up if not. Add GFP_ATOMIC.
- Problem-ID:
- 1892
- Description:
- Handling of copy_to_user/copy_from_user return codes.
- Symptom:
- ptrace returns positive numbers instead of -EFAULT if an invalid address is passed on the ptrace call.
- Problem:
- copy_to_user/copy_from_user do not return an error code if they fail but the number of bytes not copied. This needs to be converted into -EFAULT.
- Solution:
- Check return value of copy_to_user/copy_from_user and replace any non-zero return value with -EFAULT.
- Problem-ID:
- 1962
- Description:
- munmap frees pages still in use.
- Symptom:
- User process crashes and/or kernel oops in page_alloc.c.
- Problem:
- sys_munmap for a mapping near the end of the address space frees pages still in use. This is caused by an address calculation overflow in free_pgtables.
- Solution:
- Check for the overflow in free_pgtables.
- Problem-ID:
- 1233
- Update tape device driver to the same release as kernel 2.4.19 in the May 2002 stream. This is required in order to use the tape_3590_mod OCO module.
- Add the z90crypt driver from the May 2002 stream
Please refer to "Chapter 6.Generic cryptographic device driver" of the "Linux for zSeries and S/390 Device Drivers and Installation Commands" Documentation of the May 2002 stream for information on how to use this module. - Order-2 ("August 2001", 2003-02-20)
linux-2.4.17-order2-2.tar.gz MD5 recommended (2003-02-20) (superseded)
The "order 2 allocation relief" patch is a complete replacement of the patch contained in linux-2.4.17-order2-1.tar.gz shipped on 2002-03-18.
This patch is functionally equivalent to the 2002-03-18 patch, but applies without warnings.
- Description:
- Order 2 allocation relief
- Symptom:
- Under stress and after long uptimes of a 64 bit system the error message "__alloc_pages: 2-order allocation failed." appears and either the fork of a new process fails or an active process dies.
- Problem:
- The order 2 allocation problem is based in the size of the region and segment tables as defined by the zSeries architecture. A full region or segment table in 64 bit mode takes 16 KB of contiguous real memory. The page allocation routines do not guarantee that a higher order allocation will succeed due to memory fragmentation.
- Solution:
- The order 2 allocation fix is supposed to reduce the number of order 2 allocations for the region and segment tables to a minimum. To do so it uses a feature of the architecture that allows to create incomplete region and segment tables. In almost all cases a process does not need full region or segment tables. If a full region or segment table is needed it is reallocated to the full size.
- This patch is very s/390 specific, but doesn't break other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel, but can also be applied if you intend to build a 31-bit kernel.
- This patch is compatible with the "On-demand timer patch" and does not require special OCO modules.
- On demand timer ("August 2001", 2003-02-20)
Release notes: Adaption to above 2003-02-20 kernel-patch
linux-2.4.17-timer-4.tar.gz MD5 recommended (2003-02-20) (superseded)Category operating system.
Contains a patch for the linux kernel 2.4.17 that will change the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The backdraw is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_HZ_TIMER that lets you choose between the old and the new behaviour.Note that you'll need different qdio, qeth and tape_3590_mod modules if you use the no hz timer option.
This patch is a complete replacement of the patch contained in linux-2.4.17-timer-3.tar.gz shipped on 2002-06-17.
This patch is functionaly equivalent to the 2002-06-17 patch, but applies without warnings.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-timer-4.diff (IBM) - qdio kernel 2.4.17 ("August 2001", 2003-02-20)
The qdio 31-bit and 64-bit OCO-modules of 2003-02-20 are replacements for the 2002-12-19 recommended qdio modules.
31-bit: qdio-2.4.17-s390-5.tar.gz MD5 and qdio-2.4.17-s390-5-timer.tar.gz MD5 (2003-02-20) (superseded)
64-bit: qdio-2.4.17-s390x-5.tar.gz MD5 and qdio-2.4.17-s390x-5-timer.tar.gz MD5 (2003-02-20) (superseded)
- qeth kernel 2.4.17 ("August 2001", 2003-02-20)
The qeth 31-bit and 64-bit OCO-modules of 2003-02-20 are replacements for the 2002-12-19 recommended qeth modules.
bit: qeth-2.4.17-s390-5.tar.gz MD5 and qeth-2.4.17-s390-5-timer.tar.gz MD5 (2003-02-20) (superseded)64-bit: qeth-2.4.17-s390x-5.tar.gz MD5 and qeth-2.4.17-s390x-5-timer.tar.gz MD5 (2003-02-20) (superseded)
- tape_3590_mod kernel 2.4.17 ("August 2001", 2003-02-20)
Note: This OCO 3590 discipline module implements the 3590 specific parts of the Linux on zSeries tape driver. It can only be used in conjunction with the updated generic tape driver (tape390) which is included in the patch linux-2.4.17-s390-6.diff (Open Source). The generic tape driver tries to automatically load the 3590 discipline module. To be able to use this feature, the 3590 discipline module has to be named "tape_3590_mod.o".
31-bit: tape3590-2.4.17-s390.tar.gz MD5 and tape3590-2.4.17-s390-timer.tar.gz MD5 (2003-02-20)
64-bit: tape3590-2.4.17-s390x.tar.gz MD5 and tape3590-2.4.17-s390x-timer.tar.gz MD5 (2003-02-20)
- kernel 2.4.7 ("August 2001", 2003-02-20)
- accumulated patch: linux-2.4.7-s390-11.tar.gz MD5 recommended (2003-02-20)
- per-problem-patches: linux-2.4.7-s390-11-patches.tar.gz MD5 recommended (2003-02-20)
Note: In addition to the usual tarball containing one large "accumulated" patch we now provide another tarball, containing a set of "per-problem-patches" which when combined correspond to the accumulated patch.
- Description:
- IPL from labeled tapes.
- Symptom:
- The IPL from a labeled tape with an initial ramdisk doesn't work for a 64 bit kernel (on 31 bit the IPL succeeds after several retries).
- Problem:
- The code to skip the HDR and EOF records of a labeled tapes loads the address of the initial ramdisk with an incorrect offset. The retry after a HDR or EOF record has been found loads the ramdisk to 0.
- Solution:
- Load the address of the initial ramdisk from the correct memory location.
- Problem-ID:
- 1957
- Note:
- applicable for 64-bit Linux
- Description:
- Memory management: mprotect problem.
- Symptom:
- Writes to memory areas that have been write protected with the mprotect system call do not cause segmentation faults.
- Problem:
- A check for the VM_WRITE bit in the page fault handler is missing.
- Solution:
- Add missing check.
- Problem-ID:
- 1958
- Description:
- ptrace locking
- Symptom:
- Crashes in kernel space or kernel hangs while using debugging tools like strace or gdb.
- Problem:
- The traced process was not properly locked in sys_ptrace.
- Solution:
- Add get_task_struct/free_task_struct calls in sys_ptrace.
- Problem-ID:
- 1959
- Description:
- Floating point use in the 31 bit emulation.
- Symptom:
- Floating point register contents of 31-bit emu applications get corrupted.
- Problem:
- The 31-bit emu signal handler dispatch code clobbered floating point registers.
- Solution:
- Do not use floating point arithmetic in kernel space.
- Problem-ID:
- 1961
- Note:
- applicable for 64-bit Linux
- Description:
- Handling of copy_to_user/copy_from_user return codes.
- Symptom:
- ptrace returns positive numbers instead of -EFAULT if an invalid address is passed on the ptrace call.
- Problem:
- copy_to_user/copy_from_user do not return an error code if they fail but the number of bytes not copied. This needs to be converted into -EFAULT.
- Solution:
- Check return value of copy_to_user/copy_from_user and replace any non-zero return value with -EFAULT.
- Problem-ID:
- 1962
- Description:
- System hang with unformatted dasd devices.
- Symptom:
- fdasd on an unformatted dasd device causes a system hang.
- Problem:
- BIODASDINFO ioctl accesses the request_queue of the device without checking if the request_queue has been initialized.
- Solution:
- Access request_queue only if it was initialzed.
- Problem-ID:
- 1964
- Description:
- Mount of unformatted dasd.
- Symptom:
- Kernel panic after mounting an unformatted dasd device.
- Problem:
- An unformatted dasd doesn't have a valid blocksize and the number of blocks is unknown. A register_disk of such a device causes the panic.
- Solution:
- Check if blocksize and number of blocks is valid before calling register_disk.
- Problem-ID:
- 1965
- Description:
- State change pending interrupts.
- Symptom:
- Kernel panic.
- Problem:
- If a state change pending interrupt comes in the dasd interrupt handler tries to restart the first request on the ccw queue. The request that got the long busy condition normally stays on the ccw queue but some special requests get removed by timeouts. In that case the request queue might be empty but the interrupt handler tries to access the head of the queue unconditionally.
- Solution:
- Check if the ccw queue is empty before accessing it.
- Problem-ID:
- 1966
- Description:
- Dasd partition check.
- Symptom:
- System hang when dasd partitions are checked.
- Problem:
- Large empty device ranges leads to system hang.
- Solution:
- Fix race condition in dasd_enable_ranges.
- Problem-ID:
- 1967
- Description:
- ctrl-c during format of dasd device.
- Symptom:
- Kernel panic.
- Problem:
- Unable to abort dasd formatting.
- Solution:
- Fix race condition in dasd_sleep_on_request.
- Problem-ID:
- 1968
- Description:
- Dynamic attach of diag dasd devices.
- Symptom:
- Diag dasd device showing up as eckd dasd device.
- Problem:
- Diag dasd devices do not get registered with the diag discipline when they are dynamically attached because the eckd discipline gets them first.
- Solution:
- Try diag discipline before eckd discipline.
- Problem-ID:
- 1969
- Description:
- Dynamic attach of dasd devices.
- Symptom:
- The kernel loops when a dasd is defined under VM.
- Problem:
- Deadlock in device bring-up.
- Solution:
- Fix deadlock in device bring-up.
- Problem-ID:
- 1970
- Description:
- Dasd autodetect.
- Symptom:
- System hangs if dasd= parameter is missing.
- Problem:
- For system with a huge device range the ipl needs a very long time.
- Solution:
- Switched off autodetect/probeonly as default parameter.
- Problem-ID:
- 1971
- Description:
- Kernel oops while formatting dasd.
- Symptom:
- Segmentation fault in the dasd driver when an unformatted dasd device is disabled.
- Problem:
- An unformatted dasd device doesn't not have a request_queue. dasd_disable_blkdev doesn't check if the request_queue pointer is valid.
- Solution:
- Check for validity of device->request_queue before accessing its members in dasd_disable_blkdev.
- Problem-ID:
- 1972
- Description:
- Crashes in copy_to_user.
- Symptom:
- Kernel oops message
- Problem:
- The fixup routine __copy_to_user that is called after an unresolvable fault of the mvcle instruction accesses the program check old psw and the translation exception address fields in the lowcore. But the program check handler may have already called schedule and another process may have overwritten this information.
- Solution:
- Don't rely on any information stored in the lowcore in the fixup routine of __copy_to_user.
- Problem-ID:
- 1923
- Description:
- Codepage conversion problem.
- Symptom:
- Input strings with certain length are not translated correctly.
- Problem:
- codepage_convert for strings with n*256+1 bytes only convert (n-1)*256+1 bytes because of an incorrect branch instruction.
- Solution:
- Correct branch instruction.
- Problem-ID:
- 1926
- Description:
- TLBs not flushed under heavy swapping.
- Symptom:
- Random memory corruption leading to program crashes or wrong data.
- Problem:
- The __flush_tlb_mm function sets the cpu_vm_mask to the current cpu if it does a global flush. This is wrong in the case the flush is done for a different mm than the current one for the cpu. The next flush can fail to remove the tlb another cpu has created for this mm.
- Solution:
- Reset cpu_vm_mask to the current cpu only if the mm is the active mm for this cpu and the cpu is the exclusive user for the mm.
- Problem-ID:
- 1924
- Description:
- Status pending handling.
- Symptom:
- Possibly all kinds of erratic behavior.
- Problem:
- Upon encountering a cc=1 (status pending) condition when trying to start an I/O operation, Linux called the common interrupt handler to process the pending status, but couldn't call the registered interrupt handler. This could lead to interrupts not reported to the device driver which contained important information.
- Solution:
- Only process cc=1 internally when doing sync. I/O; otherwise return -EBUSY and process the interrupt as soon as interrupts are enabled again.
- Problem-ID:
- 1844
- Description:
- Path not operational handling.
- Symptom:
- Paths with are fine appear as not operational.
- Problem:
- When Linux encountered a deferred condition code 3, or another not operational situation, it considered the path designated in the last path used mask (lpum) to be not operational and switched it off. However, (1) the lpum shows the last *successfully* used path, and (2) deferred cc 3 doesn't necessarily mean the path is not operational.
- Solution:
- Don't switch off paths for all devices, and switch off paths for a device only according to the path not operational mask (pnom).
- Problem-ID:
- 1614
- Description:
- Zero sense data.
- Symptom:
- Device drivers get confused by non-existent sense data.
- Problem:
- Zero sense data was obtained by the common I/O layer, but the DEVSTAT_SENSE_AVAIL flag is set.
- Solution:
- Reset DEVSTAT_SENSE_AVAIL if sense_count is zero.
- Problem-ID:
- 1615
- Description:
- Basic sense return code.
- Symptom:
- Zero sense data, lost interrupt information.
- Problem:
- The common I/O layer didn't check if starting the basic sense ccw was successful and therefore didn't realize the next incoming interrupt didn't signify the successful completion of the basic sense operation.
- Solution:
- Check return code of basic sense.
- Problem-ID:
- 1616
- Description:
- Synchronous isc not correctly set.
- Symptom:
- Linux runs into deadlock with all cpus in enable_cpu_sync_isc.
- Problem:
- When msch() fails to set the sync isc in enable_cpu_sync_isc and encounters a status pending, s390_process_IRQ() is called while the syncio bit is set for the subchannel. I/O called from there assumes it is synchronous and has isc 5 exclusively, which is not true and can lead into another subchannel trying to get the sync_isc lock.
- Solution:
- (1) Set the syncio flag only after a successful msch().
(2) Reset sync_isc_count and give up the sync_isc lock if sync isc is not set. - Problem-ID:
- 1618
- Description:
- Fixes for ESS DASD device support.
- Symptom:
- Various effects (from "not visible for user" up to "system hang").
- Problem:
- Error recovery problems in ESS DASD specific scenarios.
- Solution:
- Enhanced and fixed various ERP scenarios.
- Problem-ID:
- 1838
- Description:
- Memory allocations not checked.
- Symptom:
- Possible oopses or BUG()s (not observed yet).
- Problem:
- Failure to check if an allocation was successful. Missing flags.
- Solution:
- Check if allocation worked; clean up if not. Add GFP_ATOMIC.
- Problem-ID:
- 1892
- Description:
- munmap frees pages still in use.
- Symptom:
- User process crashes and/or kernel oops in page_alloc.c.
- Problem:
- sys_munmap for a mapping near the end of the address space frees pages still in use. This is caused by an address calculation overflow in free_pgtables.
- Solution:
- Check for the overflow in free_pgtables.
- Problem-ID:
- 1233
- the following backports from 2.4.17:
- patch to enable multipathing with LVM.
- dasd i/o timestamp support
- enable setting of cache attributes (Sequential Prestage)
- the following backports from 2.4.19:
- Update tape device driver to the same release as kernel 2.4.19 in the May 2002 stream. This is required in order to use the 3590 OCO module.
- Add the z90crypt driver from the May 2002 stream
Please refer to "Chapter 6.Generic cryptographic device driver" of the "Linux for zSeries and S/390 Device Drivers and Installation Commands" Documentation of the May 2002 stream for information on how to use this module.
- On demand timer ("August 2001", 2003-02-20)
Release notes: Adaption to above 2003-02-20 kernel-patch
linux-2.4.7-timer-6.tar.gz MD5 (2003-02-20) (superseded) - linux-2.4.7-timer-5.tar.gz (2002-09-13)
- linux-2.4.7-timer-4.tar.gz (2002-04-15)
- linux-2.4.7-timer-3.tar.gz (2002-01-21)
- linux-2.4.7-timer-2.tar.gz (2001-11-23)
- linux-2.4.7-timer.tar.gz (2001-10-12)
- Order-2 ("August 2001", 2003-02-20)
linux-2.4.7-order2-5.tar.gz MD5 recommended (2003-02-20) (superseded)
The "order 2 allocation relief" patch is a complete replacement of the recommended patch shipped on 2002-03-18.
The original patch decreased the kernel stack size to 8KB which turned out to be not enough.
As a side-effect of this new patch there is no longer a need for special OCO-modules and the timer patch can be applied to the same kernel.
- Description:
- Order 2 allocation relief
- Symptom:
- Under stress and after long uptimes of a 64 bit system the error message "__alloc_pages: 2-order allocation failed." appears and either the fork of a new process fails or an active process dies.
- Problem:
- The order 2 allocation problem is based in the size of the region and segment tables as defined by the zSeries architecture. A full region or segment table in 64 bit mode takes 16 KB of contiguous real memory. The page allocation routines do not guarantee that a higher order allocation will succeed due to memory fragmentation.
- Solution:
- The order 2 allocation fix is supposed to reduce the number of order 2 allocations for the region and segment tables to a minimum. To do so it uses a feature of the architecture that allows to create incomplete region and segment tables. In almost all cases a process does not need full region or segment tables. If a full region or segment table is needed it is reallocated to the full size.
- This patch is very s/390 specific, but doesn't break other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel, but can also be applied if you intend to build a 31-bit kernel.
- This patch is compatible with the "On-demand timer patch" and does not require special OCO modules.
- qdio kernel 2.4.7 ("August 2001", 2003-02-20)
The qdio 31-bit and 64-bit OCO-modules of 2003-02-20 are replacements for the 2002-12-19 recommended qdio modules.
31-bit: qdio-2.4.7-s390-12.tar.gz MD5 and qdio-2.4.7-s390-12-timer.tar.gz MD5 (2003-02-20) (superseded)
64-bit: qdio-2.4.7-s390x-12.tar.gz MD5 and qdio-2.4.7-s390x-12-timer.tar.gz MD5 (2003-02-20) (superseded)
- qeth kernel 2.4.7 ("August 2001", 2003-02-20)
The qeth 31-bit and 64-bit OCO-modules of 2003-02-20 are replacements for the 2002-12-19 recommended qeth modules.
31-bit: qeth-2.4.7-s390-12.tar.gz MD5 and qeth-2.4.7-s390-12-timer.tar.gz MD5 (2003-02-20) (superseded)
64-bit qeth-2.4.7-s390x-12.tar.gz MD5 and qeth-2.4.7-s390x-12-timer.tar.gz MD5 (2003-02-20) (superseded)
- tape_3590_mod kernel 2.4.7 ("August 2001", 2003-02-20)
Note: This OCO 3590 discipline module implements the 3590 specific parts of the Linux on zSeries tape driver. It can only be used in conjunction with the updated generic tape driver (tape390) which is included in the patch linux-2.4.7-s390-11.diff (Open Source). The generic tape driver tries to automatically load the 3590 discipline module. To be able to use this feature, the 3590 discipline module has to be named "tape_3590_mod.o".
31-bit: tape3590-2.4.7-s390.tar.gz MD5 and tape3590-2.4.7-s390-timer.tar.gz MD5 (2003-02-20)
64-bit: tape3590-2.4.7-s390x.tar.gz MD5 and tape3590-2.4.7-s390x-timer.tar.gz MD5 (2003-02-20)
- s390-tools 1.0.6 ("August 2001", 2003-02-20)
Category: operating system. Contains the source tree of a set of user space utilities that should to be used together with the zSeries and S/390 Linux kernel and device drivers.
s390-tools-1.0.6-august2001.tar.gz MD5 recommended (2003-02-20) - Description:
- Wrong VTOC bit for large DASD
- Symptom:
- The z/OS tool IEHLIST fails on a CDL formatted 3390/9 DASD with rc 8.
- Problem:
- The DS4DOSBT bit in the FMT4 DSCB of the VTOC was not set for large DASD.
- Solution:
- Set DS4VTOCI in the FMT4 DSCB initially to 0xa0 instead to 0x20. This indicates an invalid FMT5 DSCB and to use the FMT7 DSCB (extended free space management)
- Problem-ID:
- 1861
- Description:
- zgetdump does not complain if filesystem is full.
- Symptom:
- It looks like dump has been copied successfully, but in fact it is not complete.
- Problem:
- Error code of write() was not checked.
- Solution:
- Check error code and write error message.
- Problem-ID:
- 1946
- Description:
- Added Multi Volume support for System Dump on 3590 tape devices.
- Description:
- Added shell script 'dbginfo.sh' (which collects information useful for debugging purposes) to s390-tools package.
- Description:
- Added tool 'tape390_display' to s390-tools package.
- qdio-2.4.17-s390-4.tar.gz MD5 and qdio-2.4.17-s390-4-timer.tar.gz MD5
- qeth-2.4.17-s390-4.tar.gz MD5 and qeth-2.4.17-s390-4-timer.tar.gz MD5
- qdio-2.4.17-s390x-4.tar.gz MD5 and qdio-2.4.17-s390x-4-timer.tar.gz MD5
- qeth-2.4.17-s390x-4.tar.gz MD5 and qeth-2.4.17-s390-4-timer.tar.gz MD5
- Description:
- Re-enable OSA features like broadcast after cable pull.
- Symptom:
- Broadcast doesn't work on OSD devices after cable pull.
- Description:
- Fix MAC decoding problem for VM Guest LAN interfaces (needs PTF UM30652, available for z/VM 4.3.0).
- Symptom:
- MAC address could not be determined for VM Guest LAN interfaces.
- Description:
- Symptom:
- A lot of messages "adapter is using anycast or nocast. Using unicast instead." showing up, possibly jamming the console.
- Description:
- Fix high load in many-to-one communication scenarios.
- Symptom:
- When multiple guests send traffic to one destination under VM LAN, the Linux load goes to 100%
- qdio-2.4.7-s390-11.tar.gz MD5 and qdio-2.4.7-s390-11-timer.tar.gz MD5
- qeth-2.4.7-s390-11.tar.gz MD5 and qeth-2.4.7-s390-11-timer.tar.gz MD5
- qdio-2.4.7-s390x-11.tar.gz MD5 and qdio-2.4.7-s390x-11-timer.tar.gz MD5
- qeth-2.4.7-s390x-11.tar.gz MD5 and qeth-2.4.7-s390x-11-timer.tar.gz MD5
- Description:
- Re-enable OSA features like broadcast after cable pull.
- Symptom:
- Broadcast doesn't work on OSD devices after cable pull.
- Description:
- Fix MAC decoding problem for VM Guest LAN interfaces (needs PTF UM30652, available for z/VM 4.3.0).
- Symptom:
- MAC address could not be determined for VM Guest LAN interfaces.
- Description:
- Removed message "adapter is using anycast or nocast. Using unicast instead."
- Symptom:
- A lot of messages "adapter is using anycast or nocast. Using unicast instead." showing up, possibly jamming the console.
- Description:
- Fix high load in many-to-one communication scenarios.
- Symptom:
- When multiple guests send traffic to one destination under VM LAN, the Linux load goes to 100%
- linux-2.4.17-s390-5.tar.gz MD5 recommended (2002-11-25)
- Description:
- Tape attach fails.
- Symptom:
- Linux hangs after a tape attach, or an attached tape is not recognized.
- Problem:
- Msch in enable_subchannel encounters a pending status first; a second msch succeeds, but the return code is still -EIO.
- Solution:
- Set the return code to 0 after a successful msch.
- Description:
- Unsolicited interrupts.
- Symptom:
- Dasd reports an unsolicited interrupt.
- Problem:
- The I/O layer detected a condition code 3 situation during a SetPGID and erroneously called dasd's interrupt handler.
- Solution:
- Don't call the device driver's interrupt handler when a "device/path not operational" situation occurs during an internal I/O.
- Description:
- Hang on 64 bit.
- Symptom:
- Possible hangs on 64 bit systems.
- Problem:
- Flags variable in read_dev_chars is too short.
- Solution:
- Change flags variable to unsigned long.
- Description:
- Linux hangs.
- Symptom:
- Possible hang when loading a device driver (not observed yet).
- Problem:
- Read_dev_chars and read_conf_data leave interrupts disabled on error.
- Solution:
- Do __restore_flags() in both cases
- Description:
- Path grouping fails.
- Symptom:
- Path groups are not correctly set, leading to "Unexpected error 0" messages in /proc/s390dbf/cio_msg/sprintf.
- Problem:
- Incorrect check for errors in DevicePathVerification.
- Solution:
- Correctly check for errors in DevicePathVerification.
- Description:
- Deferred cc 3 handling.
- Symptom:
- Linux fails to detect devices after 'not operational' messages.
- Problem:
- After a deferred cc 3 in SensePGID, Linux failed to try path grouping for other paths.
- Solution:
- Correctly retry after 'not operational' conditions.
- Description:
- LCS does not compile with gcc 3.2
- Symptom:
- Compile error in lcs.c
- Problem:
- lcs uses '#if BUG' (BUG is a kernel macro)
- Solution:
- Use '#if 0' instead
- linux-2.4.7-s390-10.tar.gz MD5 recommended (2002-11-25)
- Description:
- Hangs after machine checks.
- Symptom:
- Linux hangs after a device is gone.
- Problem:
- S390_free_irq tried synchronous halt_IO on the subchannel, but no interrupt was reported back.
- Solution:
- Don't do synchronous halt_IO in s390_free_irq.
- Description:
- Tape attach fails.
- Symptom:
- Linux hangs after a tape attach, or an attached tape is not recognized.
- Problem:
- Msch in enable_subchannel encounters a pending status first; a second msch succeeds, but the return code is still -EIO.
- Solution:
- Set the return code to 0 after a successful msch.
- Description:
- Unsolicited interrupts.
- Symptom:
- Dasd reports an unsolicited interrupt.
- Problem:
- The I/O layer detected a condition code 3 situation during a SetPGID and erroneously called dasd's interrupt handler.
- Solution:
- Don't call the device driver's interrupt handler when a "device/path not operational" situation occurs during an internal I/O.
- Description:
- Hang on 64 bit.
- Symptom:
- Possible hangs on 64 bit systems.
- Problem:
- Flags variable in read_dev_chars is too short.
- Solution:
- Change flags variable to unsigned long.
- Description:
- Linux hangs.
- Symptom:
- Possible hang when loading a device driver (not observed yet).
- Problem:
- Read_dev_chars and read_conf_data leave interrupts disabled on error.
- Solution:
- Do __restore_flags() in both cases.
- Description:
- Path grouping fails.
- Symptom:
- Path groups are not correctly set, leading to "Unexpected error 0" messages in /proc/s390dbf/cio_msg/sprintf are "Unexpected error 0" messages.
- Problem:
- Incorrect check for errors in DevicePathVerification.
- Solution:
- Correctly check for errors in DevicePathVerification.
- Description:
- Deferred cc 3 handling.
- Symptom:
- Linux fails to detect devices after 'not operational' messages.
- Problem:
- After a deferred cc 3 in SensePGID or SetPGID, Linux failed to try path grouping for other paths.
- Solution:
- Correctly retry after 'not operational' conditions.
- Description:
- LCS does not compile with gcc 3.2
- Symptom:
- Compile error in lcs.c
- Problem:
- lcs uses '#if BUG' (BUG is a kernel macro)
- Solution:
- Use '#if 0' instead
- linux-2.4.7-s390-9-extfix.tar.gz MD5 recommended (2002-09-13)
- Description:
- DIAG access to CMS reserved minidisks clashes with PFAULT support
- Symptom:
- Endlessly looping system.
- Problem:
- DIAG and PFAULT share the same external interrupt 0x2603. Because PFAULT is initialized before kmalloc works the registration code keeps a static buffer for the registration of the pfault interrupt handler. Since DIAG uses the same external interrupt number the same static buffer is used for both interrupt handlers. This create a loop in the interrupt chain causing the system to loop.
- Solution:
- Add two functions [un]register_early_external_interrupt and use these functions for early registration of external interrupts. The two new functions require the static buffer to be passed to them. This prevents that DIAG and PFAULT use the same static buffer.
-
linux-2.4.7-timer-5.tar.gz
MD5
recommended (2002-09-13) (superseded)
Release notes: (2002-09-13: adaption to above 2002-09-13 kernel-patch)
This linux-2.4.7-timer-5.tar.gz is a complete replacement for the already shipped timer patches:
On demand timer patch Category operating system. Contains a patch for the linux kernel 2.4.7 that will change the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The backdraw is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_HZ_TIMER that lets you choose between the old and the new behaviour. Note that you'll need different lcs and qeth modules if you use the no hz timer option.- linux-2.4.7-timer-4.tar.gz (2002-04-15)
- linux-2.4.7-timer-3.tar.gz (2002-01-21)
- linux-2.4.7-timer-2.tar.gz (2001-11-23)
- linux-2.4.7-timer.tar.gz (2001-10-12)
- linux-2.4.17-s390-4-iucv.tar.gz MD5 recommended (2002-08-16)
- linux-2.4.7-s390-8-iucv.tar.gz MD5 recommended (2002-08-16)
- qdio-2.4.17-s390-3.tar.gz MD5 and qdio-2.4.17-s390-3-timer.tar.gz MD5
- qeth-2.4.17-s390-3.tar.gz MD5 and qeth-2.4.17-s390-3-timer.tar.gz MD5
- qdio-2.4.17-s390x-3.tar.gz MD5 and qdio-2.4.17-s390x-3-timer.tar.gz MD5
- qeth-2.4.17-s390x-3.tar.gz MD5 and qeth-2.4.17-s390x-3-timer.tar.gz MD5
- qdio-2.4.7-s390-10.tar.gz MD5 and qdio-2.4.7-s390-10-timer.tar.gz MD5
- qeth-2.4.7-s390-10.tar.gz MD5 and qeth-2.4.7-s390-10-timer.tar.gz MD5
- qdio-2.4.7-s390x-10.tar.gz MD5 and qdio-2.4.7-s390x-10-timer.tar.gz MD5
- qeth-2.4.7-s390x-10.tar.gz MD5 and qeth-2.4.7-s390x-10-timer.tar.gz MD5
- gcc-2.95.3-s390-5.tar.gz MD5 recommended (2002-07-25)
- Description:
- Literal pool overflow handling.
- Symptom:
- Compiler aborts with 'multiple literal pool' internal compiler error, or otherwise generates incorrect code for routines using >4K literals.
- Problem:
- The compiler uses a per-function literal pool to access
immediate constants too large for the S/390 immediate instructions.
This pool is limited to a size of 4 KB. Fortunately, nearly all
routines do not exceed this limit, but some -usually automatically
generated code- do.
To cope with this situation, the compiler tried to split the literal pool into multiple 'pool chunks', each smaller than 4 KB. The algorithms used to perform this split, however, suffered from several design flaws that could cause the compiler to abort (because it wouldn't find a proper place to split the pools) or else generate invalid code -especially when using -fpic/-fPIC- (because it split the pools at invalid places without noticing it). - Solution:
- The whole literal pool handling was completely replaced for gcc 3.1.1 and above; the new algorithm solves all those problems. This patch backports the new literal pool overflow handling to the gcc 2.95.3 compiler.
- binutils-2.11.90.0.27-s390-4.tar.gz MD5 recommended (2002-07-25)
- Description:
- Linker crashes.
- Symptom:
- The static link of some special object files crashes the linker.
- Problem:
- The final, static link of object files that do not contain any direct references to dynamic symbols but only indirect ones crashes the linker because the dynobj pointer and the got pointer are used but never initialised.
- Solution:
- Initialise the dynobj pointer if it is needed and avoid accessing the got section if it does not exists.
- binutils-2.11.90.0.27-s390-3.tar.gz MD5 recommended (2002-07-04)
- Description:
- Broken relocation sections.
- Symptom:
- Dynamic linker error message "unexpected reloc type" or program crashes / malfunctions.
- Problem:
- There are two problems in regard to the relocation sections. First hidden symbols are not excluded from the final link in all cases, dependent on the link order. Second the calculation of the size of the relocation sections is incorrect if hidden symbols have been excluded.
- Solution:
- Correct tests to exclude hidden symbols from the relocation sections in the final link and rework section allocation for .rela section to determine the correct size.
- linux-2.4.17-timer-3.tar.gz MD5 recommended (2002-06-17) (superseded)
- qdio-2.4.7-s390-9.tar.gz MD5 and qdio-2.4.7-s390-9-timer.tar.gz MD5
- qeth-2.4.7-s390-9.tar.gz MD5 and qeth-2.4.7-s390-9-timer.tar.gz MD5
- qdio-2.4.7-s390x-9.tar.gz MD5 and qdio-2.4.7-s390x-9-timer.tar.gz MD5
- qeth-2.4.7-s390x-9.tar.gz MD5 and qeth-2.4.7-s390x-9-timer.tar.gz MD5
- qeth and qdio for Linux on zSeries
- qdio (part of kernel 2.4.17-may2002 patches) and qeth (OCO-module) from the Recommended "May 2002 stream" Archive page contain the necessary functionality since 2002-05-31.
- The qdio and qeth OCO-modules for the other two kernel 2.4
streams have been upgraded with retrofits of this functionality,
see:
- 2002-06-17 OCO-modules on the Recommended "August 2001 stream" page (this page)
- OSA-Express QDIO
- zSeries 900 GA3: Driver 3G, OSA microcode level
3.0A,
MCLs:J11204.007andJ11204.008(available May 03, 2002) - zSeries 900 GA2: Driver 3C, OSA microcode level:
2.26
MCLs:J10630.013andJ10630.014(available May 20, 2002) - zSeries 800 GA1: Driver 3G, OSA microcode level
3.0A
MCLs:J11204.007andJ11204.008(available May 03, 2002) - S/390 Parallel Enterprise Servers G5 and G6: Driver 26,
OSA microcode level: 4.25
MCLs:F99904.032andF99904.033(available May 16, 2002)Please refer to the TCP/IP Stack Limitation on OSA-Express News-Flash for related interesting information.
- zSeries 900 GA3: Driver 3G, OSA microcode level
3.0A,
- VM/ESA and z/VM
- z/VM 4.3:
- All enhancements included.
- z/VM 4.2:
- APAR: VM62938, PTF: UM30225
- APAR: VM63034, PTF: UM30290
- z/VM 4.1:
- APAR: VM63034, PTF: UM30289
- APAR: VM63036, PTF: UM30293
- z/VM 3.1:
- APAR: VM63034, PTF: UM30288
- APAR: VM63036, PTF: UM30292
- VM/ESA 2.4:
- APAR: VM63034, PTF: UM30287
- APAR: VM63036, PTF: UM30291
- z/VM 4.3:
- linux-2.4.17-s390-3.tar.gz MD5 recommended (2002-06-12)
- Description:
- Memory management: dirty bit handling.
- Symptom:
- User process crashes.
- Problem:
- An mprotect operation on a dirty, private user page sets the _PAGE_ISCLEAN bit in the pte, effectivly removing the dirty bit. Under memory pressure changes in the now clean page get lost.
- Solution:
- Preserve the _PAGE_ISCLEAN bit in pte_modify.
- Description:
- Memory management: mprotect problem.
- Symptom:
- Writes to memory areas that have been writed protected with the mprotect system call do not cause segmentations faults.
- Problem:
- A check for the VM_WRITE bit in the page fault handler is missing.
- Solution:
- Add missing check.
- Note:
- The missing check has only been added to the 31 bit code but NOT to the 64 bit code. The reason is a bug in the 64 bit gcc 2.95.3 compiler that will generate relocations in .rodata section of shared libraries. There is code in the dynamic linker to cope with this situation but the dynamic linker itself may not contain such relocations. Replacing the kernel of a 64 bit system without fixing the .rodata problem in the dynamic linker would make the system unusable.
- Description:
- ptrace locking
- Symptom:
- Crashes in kernel space or kernel hangs while using debugging tools like strace or gdb.
- Problem:
- The traced process was not properly locked in sys_ptrace.
- Solution:
- Add get_task_struct/free_task_struct calls in sys_ptrace.
- Description:
- Daisy chaining of external interrupts.
- Symptom:
- Concurrent use of pfault and dasd diag causes kernel hangs.
- Problem:
- Pfault and dasd diag use the same static ext_int_info_t structure. This creates a loop in the ext_int_info_t chain for external interrupt 0x2603.
- Solution:
- Add [un]register_early_external_interrupt and make the kernel objects that are registering early pass a pointer to their static buffer.
- Description:
- Parallel make failures.
- Symptom:
- Make fails because of missing file/undefined symbols in entry.S.
- Problem:
- Parallel make can build entry.o before asm-offsets.h is present.
- Solution:
- Add dependency entry.S -> asm-offsets.h.
- Description:
- Floating point use in the 31 bit emulation.
- Symptom:
- Floating point register contents of 31-bit emu applications get corrupted.
- Problem:
- The 31-bit emu signal handler dispatch code clobbered floating point registers.
- Solution:
- Do not use floating point arithmetic in kernel space.
- Description:
- Dasdfmt ctrl-c problem.
- Symptom:
- ctrl-c during dasd formatting causes kernel panic.
- Problem:
- Request structures are accessed after being freed.
- Solution:
- Fix race condition in request handling.
- Description:
- Deadlocks in the dasd driver on the dev_level_lock.
- Symptom:
- Kernel hangs on adding / removing dasd devices.
- Problem:
- The linux-2.4.17-s390-2.diff introduced an additional lock to protect the list of devices. This lock is not properly freed in all places and did not fix the original problem.
- Solution:
- Remove the dev_level_lock.
- Description:
- Detection of VM reserved minidisks.
- Symptom:
- VM reserved minidisks do not get registered as diag disks if they are attached after ipl.
- Problem:
- Eckd is checked first and every reserved minidisk is accessed via the eckd discipline instead of the diag discipline.
- Solution:
- Let the diag discipline check first for VM reserved minidisks.
- Description:
- Bringup of eckd devices.
- Symptom:
- Kernel panic "Unable to mount root" or inaccessible eckd devices.
- Problem:
- Large device ranges trigger a race condition in the dasd initialization for eckd devices. If the completion interrupt for the format detection ccw arrives before the loop over all devices of the range is completed the affected dasd is not completety initialized.
- Solution:
- Fix retry condition in the device startup code.
- Description:
- Common io layer: path verification.
- Symptom:
- Linux fails to bring up devices after printing "became 'not operational' " messages for a certain path.
- Problem:
- SetPGID returned -EAGAIN to DevicePathVerification on deferred condition code 3 for a path, but DevicePathVerification didn't try SetPGID down the remaining paths and returned with an error.
- Solution:
- Fix return code handling in DevicePathVerification.
- Description:
- Common io layer: device freeing.
- Symptom:
- Linux hangs after a device is gone, or a link failed.
- Problem:
- s390_free_irq tried synchronous halt_IO on the subchannel, but no interrupt was reported back.
- Solution:
- Don't do synchronous halt_IO in s390_free_irq.
- gcc-2.95.3-s390-4.tar.gz MD5 recommended (2002-06-04)
- Description:
- Use of LOAD ADDRESS vs. ADD for pointer computation.
- Symptom:
- Compiler generates incorrect code.
- Problem:
- In some cases, when compiling code that takes the address of a local stack variable near code involving conditions (if / while / ...), the generated code will be incorrect. This is caused by the compiler using an ADD instruction (which modifies the condition code) at a point where it expects a LOAD ADDRESS to be used (which preserves the condition code).
- Solution:
- Use LA to compute addresses of local variables.
- Description:
- Inline memcpy problem.
- Symptom:
- Compiler generates incorrect code.
- Problem:
- When generating code to implement memcpy inline, the compiler assumes in some cases incorrectly that after the memcpy completes, certain registers still hold the addresses pointing to the start of the source and/or target memory areas, although these registers were in fact modified by the inline memcpy code.
- Solution:
- Rewrite the corresponding insn patterns to remove the incorrect assumptions.
- Description:
- Dead code elimination of complex switch statements.
- Symptom:
- Compiler generates incorrect code.
- Problem:
- When the source code contains a complex switch statement (one that would be implemented using a jump target table), and *all* its cases prove to contain dead code (i.e. code that has no effect on subsequent computations and can be completely deleted by the compiler), and therfore the compiler decides to remove the whole switch statement, it will in some cases erroneously remove some of code *following* the switch statement as well.
- Solution:
- Emit barrier following the indirect jump insn.
- Description:
- Illegal address constants on 64-bit.
- Symptom:
- Internal compiler error "unrecognized insn".
- Problem:
- In some rare cases, the compiler would generate an illegal address constant, causing an ICE.
- Solution:
- Don't generate illegal address constants.
- linux-2.4.17-s390-kerntypes.tar.gz MD5 recommended (2002-04-30)
- linux-2.4.17-s390-2.tar.gz MD5 recommended (2002-04-15)
- Description:
- Console setup restrictions.
- Symptom:
- Unable to use a 3215/3270 device as console on an LPAR.
- Problem:
- The console setup code explicitly tests for VM or P/390 before it accepts a 3215 or 3270 console device.
- Solution:
- Remove machine type restrictions from conmode_setup.
- Description:
- Dasd driver.
- Symptom:
- Stress test with device attach/detach hangs the system.
- Problem:
- Concurrent changes to the states of dasd devices lead to inconsistencies.
- Solution:
- Add a lock that prevents concurrent changes of device state.
- Description:
- Dasd reserve/release timeout.
- Symptom:
- Kernel crashes in dasd reserve/release function.
- Problem:
- The reserve/release timeout can remove the reserve/release request anytime. This was not noticed in dasd_sleep_on_req.
- Solution:
- Recheck the state of the reserve/release request after the device lock was acquired.
- Description:
- Read-only status of dasd devices.
- Symptom:
- /proc/dasd/devices indicated reported read-only/read-write status for device that have been modified with the BLKROSET i/o control.
- Problem:
- The default BLKROSET i/o control implementation sets the read-only/read-write bit in the block device layer but the dasd driver has bits of his own.
- Solution:
- Implement a private BLKROSET i/o control for dasd that keeps the bits in the block device layer and in the dasd driver consistent.
- Description:
- Dasd device bringup.
- Symptom:
- The system crashes in dasd device bringup.
- Problem:
- The bottom half can be called early with a request on the block device queue. The bottom half requeues the request to the internal dasd queue although the device is in a state where this may not happen yet.
- Solution:
- Plug the device while it is initialized.
- Description:
- Diag discipline not working.
- Symptom:
- Dasd devices that are addressed with the diag discipline do not work.
- Problem:
- There are two different problems that prevent the diag discipline from working. 1) pfault and dasd diag use the same external interrupt number. If pfault is active the diag discipline never gets interrupts. 2) diag devices only get promoted to state ready but not to state online.
- Solution:
- Fix the two problems: 1) deliver external interrupts to all interrupt handlers with matching external interrupt number and let the interrupt handler filter out "their" requests. 2) do not return from dasd_set_device_level with -EAGAIN for diag devices.
- Description:
- 31 bit emulation.
- Symptom:
- 31 bit programs running in the 31 bit emulation under 64 bit linux do not work correctly.
- Problem:
- SVC emulation is incorrect in various aspects. 1) the 31 bit personality is missing, 2) emulation of sys_stime and sys_sysctl can fail because of incorrect 31/64 bit argument conversion, 3) emulation of MSGSND/MSGRCV ipc system call returned different results in error cases, 4) emulation of sys_shmctl uses an incorrect layout for IPC_64 type shared memory, 5) missing pointer conversion in sys_fcntl emulation and 6) emulation of old_getrlimit is incorrect.
- Solution:
- Add 31 bit personality and correct emulation of svcs.
- Description:
- Kernel compilation with gcc 3.1.
- Symptom:
- Kernel compilation with gcc version 3.1 fails.
- Problem:
- Some kernel code that used to work with gcc 2.95.3 is rejected by gcc 3.1.
- Solution:
- Fix the code so that gcc 3.1 accepts it.
- Description:
- Blanks in labels.
- Symptom:
- Devices with labels that contain blanks are not accessible over the fstab.
- Problem:
- It is impossible to specify a blank in a device label in /etc/fstab.
- Solution:
- Do not allow blanks in device labels.
- Description:
- Machine check enabling.
- Symptom:
- No or late machine check handling.
- Problem:
- The machine check enable bit in the PSW is not set while a processor sleeps in cpu_idle and is not set at all for 64 bit.
- Solution:
- Set the machine check bit in the relevant PSW masks.
- Description:
- Channel device layer.
- Symptom:
- None.
- Problem:
- It is not possible to specify multiple parameters with a single channel device configuration string.
- Solution:
- Allow multiple add_parms in the channel device configuration strings.
- Description:
- iucv inoperational after reboot.
- Symptom:
- The iucv interface does not work after a reboot.
- Problem:
- The shutdown of the iucv interface needs to be done on the same cpu that did the initialization.
- Solution:
- Remember which cpu did the initialization and call it to do the shutdown.
- Description:
- Panic loops.
- Symptom:
- Endless program check loop.
- Problem:
- If panic is called in interrupt while the console semaphore has already been acquired the processor enters an endless program check loop.
- Solution:
- Only do a down_trylock in console_unblank on the console semaphore instead of a down to avoid the scheduling in interrupt trap.
- Description:
- No sske optimization.
- Symptom:
- None.
- Problem:
- The sske avoidance optimization is not working because the same bit is used for _PAGE_MKCLEAN and _PAGE_ISCLEAN.
- Solution:
- Use a different bit for _PAGE_ISCLEAN.
- Description:
- Ptrace on 64 bit.
- Symptom:
- System crashes trying to strace a program.
- Problem:
- In resume the wrong offset is used to test if a program uses program event recording. Two side effects in the register usage are not taken into account.
- Solution:
- Fix offset and register use in entry.S.
- Description:
- Reboot failures.
- Symptom:
- Reboot either loops or end with disabled wait.
- Problem:
- Two problems. 1) the start subchannel on the reipl ccw can fail and 2) a cpu is deactivated but still holds a lock that is needed by the reipl function.
- Solution:
- Try to start the reipl ccw multiple times and force all cpus into a state where all locks that the reipl functions needs are free.
- Description:
- Common i/o layer.
- Symptom:
- Device inaccessible after chpid offline/online.
- Problem:
- Calculation of path group id depends on cpu id.
- Solution:
- Introduce a global path group id that is used as default for set path group id.
- Description:
- Common i/o layer.
- Symptom:
- Possible kernel oops writing to /proc/cio_ignore.
- Problem:
- The input string to /proc/cio_ignore is copied to a buffer that is one byte short.
- Solution:
- Fix the allocation for the buffer.
- Description:
- Backtrace over signal frames.
- Symptom:
- catchsegv can crash if the fault happens in a signal handler.
- Problem:
- The backchain in the signal frame is not setup.
- Solution:
- Set the backchain in the signal frame to point to the interrupted stack frame.
- Description:
- 3270 device numbers.
- Symptom:
- The devices file system entries for a 3270 device with a 4 digit device number are incorrect.
- Problem:
- The output of 3270 device numbers is restricted to 3 digits.
- Solution:
- Allow 4 digits in the print statements of 3270 device numbers.
- Description:
- Type conversion in __put_user/__get_user.
- Symptom:
- System calls fail although the input is correct.
- Problem:
- __put_user/__get_user are not doing proper type conversion. If the user space pointer does not point to the same type as the variable given in the argument to __put_user/__get_user this leads to problems. This is especially true for the emulation of 31 bit system calls on 64 bit linux.
- Solution:
- Do proper type conversion like it is done in put_user/get_user.
- linux-2.4.17-timer-2.tar.gz MD5 recommended On demand timer patch (2002-04-15) (superseded)
- linux-2.4.7-s390-7.tar.gz MD5 recommended (2002-04-15)
- Description:
- Console setup restrictions.
- Symptom:
- Unable to use a 3215/3270 device as console on an LPAR.
- Problem:
- The console setup code explicitly tests for VM or P/390 before it accepts a 3215 or 3270 console device.
- Solution:
- Remove machine type restrictions from conmode_setup.
- Description:
- Dasd driver.
- Symptom:
- Stress test with device attach/detach hangs the system.
- Problem:
- Concurrent changes to the states of dasd devices lead to inconsistencies.
- Solution:
- Add a lock that prevents concurrent changes of device state.
- Description:
- Read-only status of dasd devices.
- Symptom:
- /proc/dasd/devices indicated reported read-only/read-write status for device that have been modified with the BLKROSET i/o control.
- Problem:
- The default BLKROSET i/o control implementation sets the read-only/read-write bit in the block device layer but the dasd driver has bits of his own.
- Solution:
- Implement a private BLKROSET i/o control for dasd that keeps the bits in the block device layer and in the dasd driver consistent.
- Description:
- Dasd device bringup.
- Symptom:
- The system crashes in dasd device bringup.
- Problem:
- The bottom half can be called early with a request on the block device queue. The bottom half requeues the request to the internal dasd queue although the device is in a state where this may not happen yet.
- Solution:
- Plug the device while it is initialized.
- Description:
- Diag discipline not working.
- Symptom:
- Dasd devices that are addressed with the diag discipline do not work.
- Problem:
- There are two different problems that prevent the diag discipline from working. 1) pfault and dasd diag use the same external interrupt number. If pfault is active the diag discipline never gets interrupts. 2) diag devices only get promoted to state ready but not to state online.
- Solution:
- Fix the two problems: 1) deliver external interrupts to all interrupt handlers with matching external interrupt number and let the interrupt handler filter out "their" requests. 2) do not return from dasd_set_device_level with -EAGAIN for diag devices.
- Description:
- 31 bit emulation.
- Symptom:
- 31 bit programs running in the 31 bit emulation under 64 bit linux do not work correctly.
- Problem:
- SVC emulation is incorrect in various aspects. 1) the 31 bit personality is missing, 2) emulation of sys_stime and sys_sysctl can fail because of incorrect 31/64 bit argument conversion, 3) emulation of MSGSND/MSGRCV ipc system call returned different results in error cases, 4) emulation of sys_shmctl uses an incorrect layout for IPC_64 type shared memory, 5) missing pointer conversion in sys_fcntl emulation and 6) emulation of old_getrlimit is incorrect.
- Solution:
- Add 31 bit personality and correct emulation of svcs.
- Description:
- Kernel compilation with gcc 3.1.
- Symptom:
- Kernel compilation with gcc version 3.1 fails.
- Problem:
- Some kernel code that used to work with gcc 2.95.3 is rejected by gcc 3.1.
- Solution:
- Fix the code so that gcc 3.1 accepts it.
- Description:
- Machine check enabling.
- Symptom:
- No or late machine check handling.
- Problem:
- The bit for enabling machine checks in the PSW is not set while a processor sleeps in cpu_idle and is not set at all for 64 bit.
- Solution:
- Set the machine check bit in the relevant PSW masks.
- Description:
- Channel device layer.
- Symptom:
- None.
- Problem:
- It is not possible to specify multiple parameters with a single channel device configuration string.
- Solution:
- Allow multiple add_parms in the channel device configuration strings.
- Description:
- iucv inoperational after reboot.
- Symptom:
- The iucv interface does not work after a reboot.
- Problem:
- The shutdown of the iucv interface needs to be done on the same cpu that did the initialization.
- Solution:
- Remember which cpu did the initialization and call it to do the shutdown.
- Description:
- Reboot failures.
- Symptom:
- Reboot either loops or end with disabled wait.
- Problem:
- Two problems. 1) the start subchannel on the reipl ccw can fail and 2) a cpu is deactivated but still holds a lock that is needed by the reipl function.
- Solution:
- Try to start the reipl ccw multiple times and force all cpus into a state where all locks that the reipl functions needs are free.
- Description:
- Common i/o layer.
- Symptom:
- Device inaccessible after chpid offline/online.
- Problem:
- Calculation of path group id depends on cpu id.
- Solution:
- Introduce a global path group id that is used as default for set path group id.
- Description:
- Common i/o layer.
- Symptom:
- Possible kernel oops writing to /proc/cio_ignore.
- Problem:
- The input string to /proc/cio_ignore is copied to a buffer that is one byte short.
- Solution:
- Fix the allocation for the buffer.
- Description:
- Backtrace over signal frames.
- Symptom:
- catchsegv can crash if the fault happens in a signal handler.
- Problem:
- The backchain in the signal frame is not setup.
- Solution:
- Set the backchain in the signal frame to point to the interrupted stack frame.
- Description:
- 3270 device numbers.
- Symptom:
- The devices file system entries for a 3270 device with a 4 digit device number are incorrect.
- Problem:
- The output of 3270 device numbers is restricted to 3 digits.
- Solution:
- Allow 4 digits in the print statements of 3270 device numbers.
- Description:
- Type conversion in __put_user/__get_user.
- Symptom:
- System calls fail although the input is correct.
- Problem:
- __put_user/__get_user are not doing proper type conversion. If the user space pointer does not point to the same type as the variable given in the argument to __put_user/__get_user this leads to problems. This is especially true for the emulation of 31 bit system calls on 64 bit linux.
- Solution:
- Do proper type conversion like it is done in put_user/get_user.
- linux-2.4.7-timer-4.tar.gz MD5 recommended (2002-04-15) (superseded)
- linux-2.4.17-order2-1.tar.gz MD5 recommended (2002-03-18) (superseded)
- Description:
- Order 2 allocation relief. (Applies to 64-bit, only)
- Symptom:
- Under stress and after long uptimes of a 64 bit system the error message "__alloc_pages: 2-order allocation failed." appears and either the fork of a new process fails or an active process dies.
- Problem:
- The order 2 allocation problem is based in the size of the region and segment tables as defined by the zSeries architecture. A full region or segment table in 64 bit mode takes 16 KB of contiguous real memory. The page allocation routines do not guarantee that a higher order allocation will succeed due to memory fragmentation.
- Solution:
- The order 2 allocation fix is supposed to reduce the number of order 2 allocations for the region and segment tables to a minimum. To do so it uses a feature of the architecture that allows to create incomplete region and segment tables. In almost all cases a process does not need full region or segment tables. If a full region or segment table is needed it is reallocated to the full size.
- This patch is very S/390 specific, but doesn't break other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel but can also be applied if you intend to build a 31-bit kernel.
- This patch is now compatible with the "On-demand timer patch". You can now apply both patches to the same kernel.
- Earlier versions of this patch required the use of special OCO modules. This is no longer the case with this patch: the regular OCO modules (for standard 100 Hz timer) can be used.
- gcc-2.95.3-s390-3.tar.gz MD5 recommended (2002-03-18)
- Description:
- Exception handling and variable argument lists.
- Symptom:
- Application crashes when throwing an exception.
- Problem:
- In functions using variable argument lists, DWARF-2 information used by the exception handling unwinding code was incorrectly generated. This incorrect information could cause the exception handling runtime library to abort an application that was throwing an exception through a routine that uses variable arguments.
- Solution:
- Generate correct DWARF-2 unwind data in functions using a variable argument list.
- Description:
- Long long multiplication on 31-bit.
- Symptom:
- Internal compiler error.
- Problem:
- In some rare cases, the compiler would abort on certain code doing multiplication of 64-bit (long long) variables. This was caused by an S/390 backend instruction pattern containing a subreg expression that confused the frontend.
- Solution:
- Rewrite the corresponding insn pattern to avoid the abort.
- Description:
- 64-bit instructions generated on 31-bit.
- Symptom:
- tmll instructions in 31-bit assembler code.
- Problem:
- In some rare cases, the compiler would emit instructions of the tmll family when compiling for the s390 31-bit target architecture, although these instructions exist only on 64-bit.
- Solution:
- Properly mark these instructions as 64-bit only.
- Description:
- Bug in common code (loop optimizer).
- Symptom:
- Incorrect code is generated.
- Problem:
- In some very rare cases the strength-reduction pass would generate incorrect code due to clobbering the condition code by moving instructions around.
- Solution:
- This particular sub-part of the strength-reduction pass was removed (as ineffective) in gcc 3.0 anyway, so we can just deactivate it for this release.
- linux-2.4.7-order2-4.tar.gz MD5 recommended (2002-03-18) (superseded)
- Description:
- Order 2 allocation relief. (Applies to 64-bit, only)
- Symptom:
- Under stress and after long uptimes of a 64 bit system the error message "__alloc_pages: 2-order allocation failed." appears and either the fork of a new process fails or an active process dies.
- Problem:
- The order 2 allocation problem is based in the size of the region and segment tables as defined by the zSeries architecture. A full region or segment table in 64 bit mode takes 16 KB of contiguous real memory. The page allocation routines do not guarantee that a higher order allocation will succeed due to memory fragmentation.
- Solution:
- The order 2 allocation fix is supposed to reduce the number of order 2 allocations for the region and segment tables to a minimum. To do so it uses a feature of the architecture that allows to create incomplete region and segment tables. In almost all cases a process does not need full region or segment tables. If a full region or segment table is needed it is reallocated to the full size.
- This patch is very S/390 specific, but doesn't break other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel but can also be applied if you intend to build a 31-bit kernel.
- This patch is now compatible with the "On-demand timer patch". You can now apply both patches to the same kernel.
- Earlier versions of this patch required the use of special OCO modules. This is no longer the case with this patch: the regular OCO modules (for standard 100 Hz timer) can be used.
- linux-2.4.17-s390-1-lcs.tar.gz MD5 recommended (2002-03-04)
- The LCS device driver (formerly available as OCO, only) is now provided in source-code form.
- This version of the LCS-driver contains the source-code for the 2002-02-18 kernel 2.4.17 OCO-modules for 31- and 64-bit.
- The lcs network driver supports OSA-2 Ethernet Token Ring, and OSA-Express Fast Ethernet in non-QDIO mode.
- Documentation can be found in the Linux for S/390 & zSeries Device Driver and Installation Commands manuals.
- linux-2.4.7-s390-6-lcs.tar.gz MD5 recommended (2002-03-04)
- The LCS device driver (formerly available as OCO, only) is now provided in source-code form.
- This version of the LCS-driver contains the source-code for the 2002-01-21 (same as 2001-12-12) kernel 2.4.7 OCO-modules for 31- and 64-bit.
- The lcs network driver supports OSA-2 Ethernet Token Ring, and OSA-Express Fast Ethernet in non-QDIO mode.
- Documentation can be found in the Linux for S/390 & zSeries Device Driver and Installation Commands manuals.
-
qdio-2.4.7-s390-8.tar.gz
MD5 and
qdio-2.4.7-s390-8-timer.tar.gz
MD5
Includes fixes for HiperSockets-Support (lost initiative problem under VM). -
qeth-2.4.7-s390-8.tar.gz
MD5 and
qeth-2.4.7-s390-8-timer.tar.gz
MD5
Includes fixes for HiperSockets-Support (lost initiative problem under VM). - The lcs and z90crypt modules are unchanged, please use the 2002-01-21 level.
- The lcs modules are unchanged, please use the 2002-01-21 level (suffix 6).
-
qdio-2.4.7-s390x-8.tar.gz
MD5 and
qdio-2.4.7-s390x-8-timer.tar.gz
MD5
Includes fixes for HiperSockets-Support (lost initiative problem under VM). -
qeth-2.4.7-s390x-8.tar.gz
MD5 and
qeth-2.4.7-s390x-8-timer.tar.gz
MD5
Includes fixes for HiperSockets-Support (lost initiative problem under VM). - undef-weak-bug.tar.gz MD5 recommended (2002-02-28)
- The symptom:
- The undefined weak external bug will show up if an executable is linked with a relocation against an undefined weak external function which is defined at runtime through a dynamic object that was not part of the final link. This means the weak external gets defined either by an upgrade of a dynamic library or by the use of LD_PRELOAD. Most notably this happens with the upgrade of GNU C library from version 2.2.4 to 2.2.5. The symptom is that a program that ran fine with version 2.2.4 will crash on startup with version 2.2.5.
- The cause:
- This problem is caused by the combination of two bugs. One in the binutils and one in the GNU C library. The bug in the GNU C library 2.2.4 is that the symbols __register_frame, __register_frame_table, __deregister_frame, __register_frame_info, __deregister_frame_info, __frame_state_for and __register_frame_info_table do not have a version. A symbol without a version is local to the GNU C library which makes it undefined for all callers outside of the library. That is the point where the binutils bug comes into play. The crtbeginS.o object contains a R_390_PLT32DBL relocation to __register_frame_info. This relocation is replaced by a R_390_PC32DBL relocation because it refers to an undefined weak external function. This is wrong because the undefined function can be defined later either by an upgrade or by LD_PRELOAD. After the relocation was made pc relative the linker (correctly) turned this into a branch to 0. Therefore every program linked with a linker with this bug contains a call to 0. As long as __register_frame_info stays undefined this causes no problem because the function call is guarded by an if that test if the function address of __register_frame_info is zero. Function addresses comparisons are handled differently to function calls and are not replaced with compares to 0. So as soon as the weak function __register_frame_info is defined, the program crashes.
- The fix:
- To fix this problem the two problems needs to be addressed. The linker may not replace PLT function calls with pc relative calls and the GNU C library needs versions for the seven functions. The missing versions of the seven functions is a problem on its own which has to be fixed. Otherwise C++ exception handling does not work if the exception handling crosses different shared objects.
- The update procedure:
- To update an existing sytem several things have to be done in a specific order. First the binutils have to be replaced. Second EVERY program in the system needs a relink to remove the call to 0 that every program contains that is linked with crtbeginS.o. That means a rebuild of every program in the system! After the recompiles are done the GNU C library has to be replaced with one that contains the missing symbol versions. If the GNU C library is updated with the versions patch before all the executables in the system have been recompiled the system is rendered unusable!
- binutils-2.11.90.0.27-s390-2.tar.gz MD5 recommended (2002-02-28)
- Description:
- PLT call optimization problem.
- Symptom:
- 64 bit programs crash after a glibc upgrade to 2.2.5.
- Problem:
- A call via the procedure link table (PLT) to an undefined weak external references gets optimized to a pc relative call by the linker. That in turn gets replaced by a call to 0 because the function is undefined. This turns out to be incorrect as soon as the weak function is defined. This is the case for the __register_frame_info symbol that wasn't exported from the glibc prior to version 2.2.5 but is exported starting with this version. The call to __register_frame_info is done from crtbeginS.o which is linked to every 64 bit binary. This means that every single 64 bit executable contains an incorrect call that lets the program crash as soon as a glibc is installed that exports the symbol __register_frame_info.
- Solution:
- Prevent pc relative optimzation for undefined weak external references.
- glibc-2.2.4-s390-3.tar.gz MD5 recommended (2002-02-28)
- Description:
- C++ exception handling on 64 bit doesn't work correctly.
- Symptom:
- C++ program crash or misbehave throwing exceptions.
- Problem:
- The versions for the seven symbols __register_frame, __register_frame_table, __deregister_frame, __register_frame_info, __deregister_frame_info, __frame_state_for and __register_frame_info_table concerning exception handling are missing for 64 bit.
- Solution:
- Add versions for the seven symbols for 64 bit.
- glibc-2.2.4-s390-2.tar.gz MD5 recommended (2002-02-27)
- Description:
- Pthread race conditions.
- Symptom:
- Hanging/crashing threads.
- Problem:
- The MEMORY_BARRIER definition is missing. This potentially creates race conditions because the compiler may schedule instructions past synchronisation points.
- Solution:
- Define MEMORY_BARRIER.
- Description:
- Profile counting on 31 bit does not work.
- Symptom:
- The profile counts for programs compiled with -g are zero.
- Problem:
- The high order bit is not removed from the profile address in profil_counter.
- Solution:
- Remove the high order bit for 31 bit addresses.
- Description:
- libSegFault does not work.
- Symptom:
- catchsegv crashes.
- Problem:
- The second parameter to register_dump in the REGISTER_DUMP macro is incorrect.
- Solution:
- Fix register_dump call.
- Description:
- Missing definition in resource.h.
- Symptom:
- Compile problems with pdksh.
- Problem:
- The RLIMIT_LOCKS definition is missing in resource.h.
- Solution:
- Add RLIMIT_LOCKS.
- s390-tools-5.tar.gz MD5 recommended (2002-02-26) (superseded)
- Description:
- dasd tools only working with one DASD API version.
- Symptom:
- The tools refuse to work with a different DASD API version. A 'API version mismatch' message is written.
- Problem:
- The tools are checking for the DASD API version and are only operating with one API version (specified at compile time).
- Solution:
- All tools are now able to handle the minimum DASD API version specified at compile time and all above DASD API versions.
-
lcs-2.4.17-s390-1.tar.gz
MD5 and
lcs-2.4.17-s390-1-timer.tar.gz
MD5
(superseded)
fixed compile bugs. -
qdio-2.4.17-s390-1.tar.gz
MD5 and
qdio-2.4.17-s390-1-timer.tar.gz
MD5
(superseded)
fixed compile bugs. -
qeth-2.4.17-s390-1.tar.gz
MD5 and
qeth-2.4.17-s390-1-timer.tar.gz
MD5
(superseded)
fixed compile bugs. -
z90crypt-2.4.17-s390-1.tar.gz
MD5 and
z90crypt-2.4.17-s390-1-timer.tar.gz
MD5
(superseded)
physically identical to 2002-02-05. -
lcs-2.4.17-s390x-1.tar.gz
MD5 and
lcs-2.4.17-s390x-1-timer.tar.gz
MD5
(superseded)
fixed compile bugs. -
qdio-2.4.17-s390x-1.tar.gz
MD5 and
qdio-2.4.17-s390x-1-timer.tar.gz
MD5
(superseded)
fixed compile bugs. -
qeth-2.4.17-s390x-1.tar.gz
MD5 and
qeth-2.4.17-s390x-1-timer.tar.gz
MD5
(superseded)
fixed compile bugs. -
z90crypt-2.4.17-s390x-1.tar.gz
MD5 and
z90crypt-2.4.17-s390x-1-timer.tar.gz
MD5
(superseded)
physically identical to 2002-02-05. - kernel, kernel-headers, kerntypes 2.4.17
- gcc 2.95.3
- glibc, glibc-devel 2.2.4
- binutils 2.11.90.0.27
- gdb 5.0 (Note that the 2001-09-11 gdb 5.1 alpha-patch is recommended)
- modutils 2.4.7 (Note that the 2001-08-20 modutils 2.4.6 alpha-patch is integrated into modutils 2.4.7 and no additional patch on top is required)
- s390-tools 1.0
- strace 4.2 (2001-01-19 snapshot from Red Hat 7.1)
-
linux-2.4.17-s390.tar.gz
MD5
recommended (2002-02-05)
Release notes:
This patch contains the current recommended kernel 2.4.7 code base adapted to kernel 2.4.17.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)linux-2.4.17-timer.tar.gz MD5 recommended On demand timer patch (2002-02-05) (superseded)
Release notes:
On demand timer patch:
Category operating system. Contains a patch for the linux kernel 2.4.17 that changes the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The drawback is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_HZ_TIMER that lets you choose between the old and the new behavior. Note that you'll need different lcs, qdio, and qeth modules if you use the no hz timer option.To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-timer.diff (IBM) linux-2.4.17-order2.tar.gz MD5 recommended Patch for "order 2 allocation relief" (2002-02-05) (superseded)
This patch is an adaption of the 2002-02-05 kernel 2.4.7 "order 2 allocation relief" patch to kernel 2.4.17.
- Description:
- Order 2 allocation relief.
- Symptom:
- Under stress and after long uptimes of a 64 bit system the error message "__alloc_pages: 2-order allocation failed." appears and either the fork of a new process fails or an active process dies.
- Problem:
- The order 2 allocation problem is based in the size of the region and segment tables as defined by the zSeries architecture. A full region or segment table in 64 bit mode takes 16 KB of contiguous real memory. The page allocation routines do not guarantee that a higher order allocation will succeed due to memory fragmentation.
- Solution:
- The order 2 allocation fix is supposed to reduce the number of order 2 allocations for the region and segment tables to a minimum. To do so it uses a feature of the architecture that allows to create incomplete region and segment tables. In almost all cases a process does not need full region or segment tables. If a full region or segment table is needed it is reallocated to the full size.
- This patch is very S/390 specific and breaks all other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel and should not be applied if you intend to build a 31-bit kernel.
- This patch is now compatible with the 2002-02-05 "on-demand timer" patch.
- lcs-2.4.17-s390.tar.gz MD5 and lcs-2.4.17-s390-timer.tar.gz MD5
- qdio-2.4.17-s390.tar.gz MD5 and qdio-2.4.17-s390-timer.tar.gz MD5
- qeth-2.4.17-s390.tar.gz MD5 and qeth-2.4.17-s390-timer.tar.gz MD5
- z90crypt-2.4.17-s390.tar.gz MD5 and z90crypt-2.4.17-s390-timer.tar.gz MD5
- lcs-2.4.17-s390x.tar.gz MD5 and lcs-2.4.17-s390x-timer.tar.gz MD5
- qdio-2.4.17-s390x.tar.gz MD5 and qdio-2.4.17-s390x-timer.tar.gz MD5
- qeth-2.4.17-s390x.tar.gz MD5 and qeth-2.4.17-s390x-timer.tar.gz MD5
- z90crypt-2.4.17-s390x.tar.gz MD5 and z90crypt-2.4.17-s390x-timer.tar.gz MD5
- linux-2.4.7-s390-5.tar.gz MD5 recommended (2002-01-21)
- Description:
- Initial ramdisk problem.
- Symptom:
- Kernel fails to find a filesystem on an initial ramdisk if the root filesystem does not live on the ramdisk.
- Problem:
- The segment descriptor in the init thread points to the user space instead of pointing to the kernel space.
- Solution:
- Correct the segment descriptor.
- Description:
- Signal information incomplete.
- Symptom:
- The information in the siginfo_t on entry to a signal handler does not contain all information it should contain.
- Problem:
- The exception handlers do not pass a siginfo structure to the do_trap function. Therefore the si_code and the address of the fault are not passed to the user space signal handler.
- Solution:
- Create and pass siginfo structures to do_trap for the different signal handlers.
- Description:
- 31 bit emulation of sys_select.
- Symptom:
- 31 bit programs on 64 bit linux hang.
- Problem:
- The conversion of the struct timeval in sys32_select is done incorrectly. This leads to huge timeout values, causing the 31 bit programs to "hang".
- Solution:
- Correct the struct timeval conversion.
- Description:
- 31-bit emulation of sys_semctl.
- Symptom:
- Problems with 31 bit programs on 64-bit Linux.
- Problem:
- The conversion of struct ipc64_perm was done incorrectly. This could lead to incorrect permission settings being passed to the sys_semctl system call.
- Solution:
- Correct the struct ipc64_perm conversion.
- Description:
- CMS minidisks on 64-bit.
- Symptom:
- On 64-bit Linux, CMS minidisks are not detected.
- Problem:
- The partition detection code contained code that was not portable to 64-bit. This caused CMS labels to be incorrectly parsed and therefore CMS minidisks were not detected.
- Solution:
- Fix partition detection.
- Add IOCTL translation support for the crypto driver to the 31-bit emulation layer. This allows accessing the crypto driver from 31-bit applications running in a 64-bit system. (See z90crypt 64-bit OCO-modules.)
- linux-2.4.7-timer-3.tar.gz MD5 recommended (2002-01-21) (superseded)
- linux-2.4.7-order2-3.tar.gz MD5 recommended (2002-01-21) (superseded)
- Description:
- Order 2 allocation relief. (Applies to 64-bit, only)
- Symptom:
- Under stress and after long uptimes of a 64 bit system the error message "__alloc_pages: 2-order allocation failed." appears and either the fork of a new process fails or an active process dies.
- Problem:
- The order 2 allocation problem is based in the size of the region and segment tables as defined by the zSeries architecture. A full region or segment table in 64 bit mode takes 16 KB of contiguous real memory. The page allocation routines do not guarantee that a higher order allocation will succeed due to memory fragmentation.
- Solution:
- The order 2 allocation fix is supposed to reduce the number of order 2 allocations for the region and segment tables to a minimum. To do so it uses a feature of the architecture that allows to create incomplete region and segment tables. In almost all cases a process does not need full region or segment tables. If a full region or segment table is needed it is reallocated to the full size.
- This patch is very S/390 specific and breaks all other architectures.
- This patch does only work for a 64-bit Linux for zSeries kernel and should not be applied if you intend to build a 31-bit kernel.
- This patch is incompatible with the "On-demand timer patch". You currently cannot apply both patches to the same kernel.
- Earlier versions of this patch required the use of special OCO modules. This is no longer the case with this patch: the regular OCO modules (for standard 100 Hz timer) can be used.
- The support of HiperSockets was tested completely for Linux for S/390 running under LPAR.
- HiperSockets support for VM-guests is available on z/VM 4.2, only, and requires the application of PTFs for APAR VM62938. - Please check the VM service information for latest available updates. (VM Info-APAR II12444 contains useful information for using Linux under VM.)
- The regression tests for Linux for S/390 HiperSockets support for VM-guests are still in progress.
-
lcs-2.4.7-s390-6.tar.gz
MD5 and
lcs-2.4.7-s390-6-timer.tar.gz
MD5
(superseded)
On same level as 2001-12-12. -
qdio-2.4.7-s390-7.tar.gz
MD5 and
qdio-2.4.7-s390-7-timer.tar.gz
MD5
(superseded)
On same level as 2001-12-12. -
qeth-2.4.7-s390-7.tar.gz
MD5 and
qeth-2.4.7-s390-7-timer.tar.gz
MD5
(superseded)
On same level as 2001-12-12. -
z90crypt-2.4.7-s390-2.tar.gz
MD5 and
z90crypt-2.4.7-s390-2-timer.tar.gz
MD5
(superseded)
The cryptographic device driver z90crypt for 31-bit is now recommended and also provided for the "on-demand timer" patch. (64-bit z90crypt still experimental).
Documentation for z90crypt is included in the "Linux for S/390 Device Driver and Installation Commands" manual.
Using z90crypt on VM-guests requires z/VM 4.2 and APAR VM62905. - The support of HiperSockets was tested completely for Linux for zSeries running under LPAR.
- HiperSockets support for VM-guests is available on z/VM 4.2,
only, and requires the application of PTFs for APAR VM62938.
Please check the VM service information for latest available updates. (VM Info-APAR II12444 contains useful information for using Linux under VM.) - The regression tests for Linux for zSeries HiperSockets support for VM-guests are still in progress.
-
lcs-2.4.7-s390x-6.tar.gz
MD5 and
lcs-2.4.7-s390x-6-timer.tar.gz
MD5
On same level as 2001-12-12. -
qdio-2.4.7-s390x-7.tar.gz
MD5 and
qdio-2.4.7-s390x-7-timer.tar.gz
MD5
On same level as 2001-12-12. -
qeth-2.4.7-s390x-7.tar.gz
MD5 and
qeth-2.4.7-s390x-7-timer.tar.gz
MD5
On same level as 2001-12-12. - z90crypt for 64-bit is experimental.
- s390-tools-4.tar.gz MD5 recommended (2001-12-12) (superseded)
- Description:
- Symptom:
- One of the 390 data set names, which exists for each partition, is missing for modell 9 DASDs.
- Problem:
- The modell 9 DASD needs a special freespace label within the VTOC. In this case the "last available FMT1 DSCB"-pointer wasn't set to the right label.
- Solution:
- This pointer is now set correctly.
Everybody should apply this patch.
To create the complete S/390 tools sources, the following patches need to be applied in sequence:
s390-tools.tar.gz (IBM)
+ s390-tools-1.diff (IBM)
+ s390-tools-2.diff (IBM)
+ s390-tools-3.diff (IBM)
+ s390-tools-4.diff (IBM)2001-12-12 OCO modules (kernel 2.4.7) for the "August 2001 stream"
Recommended OCO modules 31-bit (superseded)
The lcs, qdio, qeth 31-bit and 64-bit OCO-modules of 2001-12-12 are replacements for the previously recommended modules.
HiperSockets support for qdio and qeth
- The support of HiperSockets was tested for Linux for S/390 running under LPAR only.
- Linux for S/390 HiperSockets support for VM-guests on z/VM 4.2 requires the application of z/VM-PTFs (e.g. APAR VM62938). Please check the VM service information for latest available updates.
OCO-modules lcs, qdio, and qeth must be selected correctly for kernels with or without the 2001-11-23 "on-demand timer" patch applied.
On-demand timer 31-bit kernels with the 2001-11-23 patches now need: lcs-2.4.7-s390-5-timer.tar.gz, qdio-2.4.7-s390-6-timer.tar.gz, and qeth-2.4.7-s390-6-timer.tar.gz.
Standard 100 Hertz timer 31-bit kernels with the 2001-11-23 patches now need: lcs-2.4.7-s390-5.tar.gz, qdio-2.4.7-s390-6.tar.gz, and qeth-2.4.7-s390-6.tar.gz.-
lcs-2.4.7-s390-5.tar.gz
MD5 and
lcs-2.4.7-s390-5-timer.tar.gz
MD5
LCS comments amp; improvements since 2001-11-23.
-
qdio-2.4.7-s390-6.tar.gz
MD5 and
qdio-2.4.7-s390-6-timer.tar.gz
MD5
qdio comments & improvements since 2001-11-23.
-
qeth-2.4.7-s390-6.tar.gz
MD5 and
qeth-2.4.7-s390-6-timer.tar.gz
MD5
qdio comments & improvements since 2001-11-23.
qeth comments & improvements since 2001-11-23.
Fixes for HiperSockets support.
Recommended OCO modules 64-bit (superseded)
OCO-modules lcs, qdio, and qeth must be selected correctly for kernels with or without the 2001-11-23 "on-demand timer" patch applied.
HiperSockets support for qdio and qeth
- The support of HiperSockets was tested for Linux for zSeries running under LPAR only.
- Linux for zSeries HiperSockets support for VM-guests on z/VM 4.2 requires the application of z/VM-PTFs (e.g. APAR VM62938). Please check the VM service information for latest available updates.
On-demand timer 64-bit kernels with the 2001-11-23 patches now need: lcs-2.4.7-s390x-5-timer.tar.gz, qdio-2.4.7-s390x-6-timer.tar.gz, and qeth-2.4.7-s390x-6-timer.tar.gz
Standard 100 Hertz timer 64-bit kernels with the 2001-11-23 patches now need: lcs-2.4.7-s390x-5.tar.gz, qdio-2.4.7-s390x-6.tar.gz, and qeth-2.4.7-s390x-6.tar.gz
-
lcs-2.4.7-s390x-5.tar.gz
MD5 and
lcs-2.4.7-s390x-5-timer.tar.gz
MD5
LCS comments & improvements since 2001-11-23.
-
qdio-2.4.7-s390x-6.tar.gz
MD5 and
qdio-2.4.7-s390x-6-timer.tar.gz
MD5
qdio comments & improvements since 2001-11-23.
-
qeth-2.4.7-s390x-6.tar.gz
MD5 and
qeth-2.4.7-s390x-6-timer.tar.gz
MD5
qeth comments & improvements since 2001-11-23.
Fixes for HiperSockets support.
2001-11-23 kernel 2.4.7 for the "August 2001 stream"
The 2001-11-23 set of Linux Kernel version 2.4.7 recommended patches for Linux for S/390 and Linux for zSeries deliver several fixes and updates.
Furthermore the 31-bit and 64-bit recommended OCO-modules lcs, qdio, qeth have been updated with bug-fixes.Together with the 2001-11-09, 2001-10-12 and 2001-09-14 patches applied on top of the first set (2001-08-20) of kernel 2.4.7 recommended patches, Linux for S/390 31-bit distributions and Linux for zSeries 64-bit distributions can be built using:
- kernel, kernel-headers, kerntypes 2.4.7
- gcc 2.95.3
- glibc, glibc-devel 2.2.4
- binutils 2.11.90.0.27
- gdb 5.0 (Note that the 2001-09-11 gdb 5.1 alpha-patch is experimental, not recommended)
- modutils 2.4.7 (Note that the 2001-08-20 modutils 2.4.6 alpha-patch is integrated into modutils 2.4.7 and no additional patch on top is required)
- s390-tools 1.0
- strace 4.2 (2001-01-19 snapshot from Red Hat 7.1)
and the updated recommended 31-bit and 64-bit OCO-modules lcs, qdio, qeth.
Please check out the Restrictions "August 2001 stream" page on Kernel 2.4.7.
Please refer to the Experimental "August 2001 stream" page for an experimental kernel 2.4.7 patch for 64-bit distributions and the matching 64-bit OCO modules.
Please see the kernel 2.4 Documentation "August 2001 stream" page for the 31-bit and 64-bit manuals."On-demand Timer"
- The 2001-11-23 kernel 2.4.7-s390-2-timer patch includes a
replacement for the "on-demand timer" (introduced 2001-09-14 and
replaced 2001-10-12).
Important notice: The OCO-modules lcs, qdio, and qeth must be selected correctly for kernels with or without the "on-demand timer" patch applied:
- On-demand timer kernels now need:
lcs-2.4.7-s390[x]-4-timer.tar.gz, qdio-2.4.7-s390[x]-5-timer.tar.gz, and qeth-2.4.7-s390[x]-5-timer.tar.gz - Standard 100 Hertz timer kernels now need:
lcs-2.4.7-s390[x]-4.tar.gz, qdio-2.4.7-s390[x]-5.tar.gz, and qeth-2.4.7-s390[x]-5.tar.gz
- On-demand timer kernels now need:
- linux-2.4.7-s390-4.tar.gz MD5 recommended (2001-11-23)
Release notes:
This patch contains the following linux kernel bug fixes:
- Description:
- Compilation of sysinfo.
- Symptom:
- /proc/sysinfo is missing.
- Problem:
- The file that contains the implementation of the new /proc/sysinfo entry has not been added to the Makefile. Hence it is not compiled and /proc/sysinfo is missing in the running system.
- Solution:
- Add sysinfo.o to the s390 drivers Makefile.
- Description:
- Export dasd_device_from_kdev.
- Symptom:
- No symptom.
- Problem:
- A dasd module can't use the dasd_device_from_kdev function because it is inline and the symbol name is not exported. This function is needed if a dasd module wants to use dynamic i/o controls.
- Solution:
- Export symbol dasd_device_from_kdev.
- Description:
- A kernel built without the proc filesystem panics during boot.
- Symptom:
- When CONFIG_PROC_FS is not selected, the kernel will compile but panic during boot when trying to create a /proc entry in s390io.
- Problem:
- The common I/O layer tries to create /proc entries even though the proc filesystem is disabled.
- Solution:
- Exclude the proc filesystem interface functions from s390io if the proc filesystem is switched off.
- Description:
- Signal problem in the VFS layer.
- Symptom:
- Endless kernel loop.
- Problem:
- The signal info codes from the kernel header file siginfo.h miss some bits that are used internally to control the handling of the signal.
- Solution:
- Add the missing bits to the siginfo codes.
- Description:
- Network throughput problem with high cpu load.
- Symptom:
- CPU intensive workload slows down network traffic.
- Problem:
- The wakeup of a process does not cause a preemptive reschedule of the CPU intensive process due to a comparison problem between unsigned integers of different size.
- Solution:
- Fix the comparison so that the preemptive reschedule works.
- Description:
- CTC problem on machines with more that 2G memory.
- Symptom:
- Very slow data flow when using TCP/IP (e.g. ftp transfers).
- Problem:
- Usage of IDA lists with CTC did not work, resulting in a lot of dropped packets due to TCP checksum errors.
- Solution:
- Using memcpy to low memory transfer buffer instead of IDA lists.
- linux-2.4.7-s390-2-timer.tar.gz MD5 recommended (2001-11-23) (superseded)
-
lcs-2.4.7-s390-4.tar.gz
MD5 and
lcs-2.4.7-s390-4-timer.tar.gz
MD5
LCS comments & improvements since 2001-11-09.
-
qdio-2.4.7-s390-5.tar.gz
MD5 and
qdio-2.4.7-s390-5-timer.tar.gz
MD5
qdio comments & improvements since 2001-11-09.
A problem with HiperSockets under VM was fixed. -
qeth-2.4.7-s390-5.tar.gz
MD5 and
qeth-2.4.7-s390-5-timer.tar.gz
MD5
qeth comments & improvements since 2001-11-09.
-
lcs-2.4.7-s390x-4.tar.gz
MD5 and
lcs-2.4.7-s390x-4-timer.tar.gz
MD5
LCS comments & improvements since 2001-11-09.
-
qdio-2.4.7-s390x-5.tar.gz
MD5 and
qdio-2.4.7-s390x-5-timer.tar.gz
MD5
qdio comments & improvements since 2001-11-09.
A problem with HiperSockets under VM was fixed. -
qeth-2.4.7-s390x-5.tar.gz
MD5 and
qeth-2.4.7-s390x-5-timer.tar.gz
MD5
qeth comments & improvements since 2001-11-09.
- kernel, kernel-headers, kerntypes 2.4.7
- gcc 2.95.3
- glibc, glibc-devel 2.2.4
- binutils 2.11.90.0.27
- gdb 5.0 (Note that the 2001-09-11 gdb 5.1 alpha-patch is experimental, not recommended)
- modutils 2.4.7 (Note that the 2001-08-20 modutils 2.4.6 alpha-patch is integrated into modutils 2.4.7 and no additional patch on top is required)
- s390-tools 1.0
- strace 4.2 (2001-01-19 snapshot from Red Hat 7.1)
- The 2001-10-12 kernel 2.4.7 patches included a replacement for
the "on-demand timer" (introduced 2001-09-14).
Important notice: The OCO-modules lcs, qdio, and qeth must be selected correctly for kernels with or without the "on-demand timer" patch applied:
- On-demand timer kernels now need:
lcs-2.4.7-s390[x]-3-timer.tar.gz, qdio-2.4.7-s390[x]-4-timer.tar.gz, and qeth-2.4.7-s390[x]-4-timer.tar.gz - Standard 100 Hertz timer kernels now need:
lcs-2.4.7-s390[x]-3.tar.gz, qdio-2.4.7-s390[x]-4.tar.gz, and qeth-2.4.7-s390[x]-4.tar.gz - An updated z90crypt 31-bit OCO-module is also provided.
- On-demand timer kernels now need:
- linux-2.4.7-s390-3.tar.gz MD5 recommended (2001-11-09)
- Description:
- Reset of files in VM reader.
- Symptom:
- The files in the VM reader running on a P/390 are not resetted.
- Problem:
- The test that used to decide if a reset should be done is wrong if the system is running on a P/390.
- Solution:
- Make the decision if the reset should be done only dependent on the VM flag in the cpu id.
- Description:
- PFAULT on 31 bit.
- Symptom:
- No efficiency improvement with pfault on 31 bit.
- Problem:
- The check in the pfault interrupt handler for the pfault subcode is wrong. The interrupt handler is left without doing anything. The system doesn't crash but you won't see a benefit either.
- Solution:
- Fix the subcode check.
- Description:
- llseek in the 31 bit emulation.
- Symptom:
- 31 bit programs running under the 31 bit emulation layer on a 64 bit system create huge files with size > 4GB.
- Problem:
- The llseek system call in the 31 bit emulation layer is converted incorrectly.
- Solution:
- Fix the conversion routine for llseek.
- Description:
- Locking problem in dasd driver.
- Symptom:
- Kernel crash after formatting a device.
- Problem:
- The function that cancels the format ccw in case of an error doesn't lock the dasd device structure properly. This is a race condition against the end of the i/o and can crash the system due to null pointer access.
- Solution:
- Properly lock the dasd device structures.
- Description:
- Block padding for the short blocks of the common disk layout.
- Symptom:
- The first few blocks of a dasd formatted for the common disk layout contain random data in the rear end of the block.
- Problem:
- The first few blocks of a dasd formatted with the common disk layout are physically shorter then the block size of the device. The linux buffer for these blocks contain random data in the suffix of the blocks that is not backed by phsical data.
- Solution:
- Pad the suffix of the short blocks with byte pattern 0xe5.
- Description:
- Channel device layer configuration.
- Symptom:
- Additional parameters after an "add_parms" statement are not recognized.
- Problem:
- After parsing the add_parms statement the input pointer is not moved to the next string.
- Solution:
- Move the next string after parsing the add_parms statement.
- Description:
- I/O layer doesn't deliver interrupts.
- Symptom:
- The device interrupt handler of a terminated ccw is not always called. For example the halt of the long running rewind of a tape device does not trigger the tape device interrupt handler.
- Problem:
- The expression if a device has ending status does not cover all cases.
- Solution:
- Correctly check for ending status.
- Description:
- System information.
- Symptom:
- None.
- Problem:
- A means to get information about the system configuration in the user space is needed. The store system information instruction is priviledged and can not be used from user space.
- Solution:
- Provide a proc file system entry that contains the data that can be extracted from the store system information instruction.
- Description:
- Busy loop in the partition detection
- Symptom:
- The system hangs in the partition detection.
- Problem:
- The skip of format 4/5/7 labels doesn't increase the number of the label block. This leads to a busy loop that reads the same block over and over again.
- Solution:
- Increase the block number for format 4/5/7 label blocks.
- s390-tools-3.tar.gz MD5 recommended(2001-11-09) (superseded)
- Description:
- fdasd: new menu entry.
- Symptom:
- There was no way to see the z/OS data set names.
- Problem:
- The mapping between partition number in the device node and the z/OS data set name could change in case you do some strange re-partitioning. There was no way to display this mapping.
- Solution:
- New fdasd menu entry 's' to show the mapping between partition number in the device node and the z/OS data set name.
- Description:
- fdasd: partition number in z/OS data set name.
- Symptom:
- Confusing mapping between partition number in the device node and the z/OS data set name.
- Problem:
- The partition number in the device node starts counting with "1"and the partition number in the z/OS data set name started counting with "0".
- Solution:
- Both start counting from "1" and older partitions will be converted automatically to the new numbering schema.
- Description:
- dasdfmt: cylinderwise formatting.
- Symptom:
- dasdfmt formats the disk cylinderwise if you are using the '-p' or '-m' option, otherwise the disk will be formatted as one big part.
- Problem:
- none.
- Solution:
- We will format cylinderwise in every case now.
- Description:
- dasdfmt: signal handler.
- Symptom:
- dasdfmt leaves the disk in the accepted state in case of an abruption (e.g. Ctrl+C).
- Problem:
- The disk is unusable until you reset it.
- Solution:
- A signal handler sets the DASD back to the 'not formatted' state in case of a abruption.
-
lcs-2.4.7-s390-3.tar.gz
MD5 and
lcs-2.4.7-s390-3-timer.tar.gz
MD5
LCS comments & improvements since 2001-10-12 2.4.7 drop.
Experimental FDDI support is not compiled in. Small improvements on error messages. Fixed handling of hardware resetting events during startup sequence. -
qdio-2.4.7-s390-4.tar.gz
MD5 and
qdio-2.4.7-s390-4-timer.tar.gz
MD5
qdio comments & improvements since 2001-10-12 2.4.7 drop.
Improved behaviour under VM. Improved iQDIO shutdown behaviour.HiperSockets don't work under VM. -
qeth-2.4.7-s390-4.tar.gz
MD5 and
qeth-2.4.7-s390-4-timer.tar.gz
MD5
qeth comments & improvements since 2001-10-12 2.4.7 drop.
Minor Bugfix. -
lcs-2.4.7-s390x-3.tar.gz
MD5 and
lcs-2.4.7-s390x-3-timer.tar.gz
MD5
LCS comments & improvements since 2001-10-12 2.4.7 drop.
Experimental FDDI support is not compiled in. Small improvements on error messages. Fixed handling of hardware resetting events during startup sequence. -
qdio-2.4.7-s390x-4.tar.gz
MD5 and
qdio-2.4.7-s390x-4-timer.tar.gz
MD5
qdio comments & improvements since 2001-10-12 2.4.7 drop.
Improved behaviour under VM. Improved iQDIO shutdown behaviour.HiperSockets don't work under VM. -
qeth-2.4.7-s390x-4.tar.gz
MD5 and
qeth-2.4.7-s390x-4-timer.tar.gz
MD5
qeth comments & improvements since 2001-10-12 2.4.7 drop.
Minor Bugfix. - Description:
- Pagex interrupts can overwrite program check information.
- Symptom:
- User program crashes.
- Problem:
- The pagex interrupt could overwrite the information in the lowcore about the last program check because interrupts are reenabled to early. The program check is then handled incorrectly after the pagex interrupt returns.
- Solution:
- Do not reenable the interrupts in the first level program check handler. Let the second level program handler decide when the interrupts should be reenabled.
- Description:
- Inline assembly contraints too weak for latest compiler.
- Symptom:
- Assembler error messages compiling the kernel.
- Problem:
- The contraints of some inline assemblies allow a full memory reference with offset, base and index register for instructions that only accept memory references with offset and base register.
- Solution:
- Reload the full memory reference to a register or use the "a" constraint in the inline assemblies.
- Description:
- bottom half scheduling.
- Symptom:
- Idle system load one instead of zero.
- Problem:
- The timer interrupt handler dosn't call irq_enter/irq_exit early enough causing the softirq daemon to be scheduled. The now runnable softirq daemon increases the load and is scheduled normally just to return immediatly. This only causes a slight increase in the cpu usage the load is not really one.
- Solution:
- Call irq_enter just after entering the timer interrupt handler and irq_exit just before leaving.
- Description:
- Missing symbol strstr.
- Symptom:
- The load of a module fails because of undefined symbol strstr.
- Problem:
- The strstr function is not exported by the kernel.
- Solution:
- Export the strstr function.
- Description:
- Dasd performance problem.
- Symptom:
- The dasd driver uses too much cpu.
- Problem:
- The profiling code to collect the information for /proc/dasd/statistics takes too much time.
- Solution:
- Deactivate the dasd profiling. To reenable it the DASD_PROFILE define needs to be set.
- Description:
- Proc interface for dynamic addition/removal of dasd devices.
- Symptom:
- Dynamic add/remove of dasd devices does not succeed.
- Problem:
- The /proc/dasd/devices interface doesn't accept strings ending with a newline.
- Solution:
- Strip newline from strings written to /proc/dasd/devices.
- Description:
- Stopping tape driver operations.
- Symptom:
- Kernel crashes after stopping tape operations.
- Problem:
- If a tape operations is canceled the tape i/o request is not stopped but the memory area that is used by the operation is freed. The reused memory can be clobbered by the still running i/o request.
- Solution:
- Wait uninterruptible for the end of tape i/o requests.
- Description:
- CTC i/o timeout problem.
- Symptom:
- Kernel message "kernel timer added twice at ...".
- Problem:
- The i/o timeout for the CTC channels is not deleted in all cases.
- Solution:
- Remove pending timer in the channel restart function.
- Description:
- TCP/IP problems with sockets in TIME_WAIT state.
- Symptom:
- Kernel crashes under heavy TCP/IP load.
- Problem:
- There are two problems in the common TCP/IP code with regard to the handling of sockets in the TIME_WAIT state. The first is a typo that causes the reference count of the wrong socket to be decremented and the second it a race condition. Both problems can lead to clobbered socket memory.
- Solution:
- Decrement reference count of the correct socket and avoid the race condition by increasing the reference count.
- linux-2.4.7-s390-timer.tar.gz MD5 recommended (2001-10-12) (superseded)
- lcs-2.4.7-s390-2.tar.gz MD5 and lcs-2.4.7-s390-2-timer.tar.gz MD5 (2001-10-12)
- qdio-2.4.7-s390-3.tar.gz MD5 and qdio-2.4.7-s390-3-timer.tar.gz MD5 (2001-10-12)
- qeth-2.4.7-s390-3.tar.gz MD5 and qeth-2.4.7-s390-3-timer.tar.gz MD5 (2001-10-12)
- lcs-2.4.7-s390x-2.tar.gz MD5 and lcs-2.4.7-s390x-2-timer.tar.gz MD5 (2001-10-12)
- qdio-2.4.7-s390x-3.tar.gz MD5 and qdio-2.4.7-s390x-3-timer.tar.gz MD5 (2001-10-12)
- qeth-2.4.7-s390x-3.tar.gz MD5 and qeth-2.4.7-s390x-3-timer.tar.gz MD5 (2001-10-12)
- binutils-2.11.90.0.27-s390-1.tar.gz MD5 recommended (2001-10-12)
- Description:
- Warnings about zero index or base registers misleading.
- Symptom:
- The assembler issues warnings about zero index or base registers.
- Problem:
- Explicitly specified zero index or base registers can indicate faulty statements because if the register 0 is used as part of an address 0 is added to the effective address instead of the content of register 0. Sometimes it is useful to get these warnings but in other cases there messages can be confusing.
- Solution:
- Add an option "-mwarn-areg-zero" that enables the warnings about zero index or base registers. Default is off.
- Testcase library for the GNU assembler.
- Automatic generation of the instruction table from s390-opc.txt.
- gcc-2.95.3-s390-2.tar.gz MD5 recommended (2001-10-12)
- Description:
- Incorrect use of LA (load address) instruction.
- Symptom:
- LA used to add integers.
- Problem:
- In some rare cases, the compiler would generate code using the LA instruction to perform an integer addition. However, the LA instruction does in fact do only a 31-bit addition, and hence can only be safely used to compute 31-bit addresses, not arbitrary 32-bit integers.
- Solution:
- Make sure that LA is never used unless it is known that the result of LA will be used as an address.
- Description:
- Bug in compiler common code (regmove).
- Symptom:
- Incorrect code is generated.
- Problem:
- In some rare cases, the compiler would generate code that clobbers incoming function arguments. This was caused by a bug in the regmove pass, which didn't properly check for that case.
- Solution:
- Fix regmove.
- Description:
- Bug in debug information generation.
- Symptom:
- Unresolved symbols when linking optimized code compiled with debug information.
- Problem:
- In some rare cases, when linking code compiled with both high
optimization level and debug information, the debug data could
contain symbol references to symbols that were not actually present
in the code any more, because the optimizer had managed to
completely eliminate them. This would cause unresolved symbol
errors.
The problem would show up only for floating point variables that are constant throughout a function.
- Solution:
- Don't emit debug data for those variables.
- Description:
- Incorrect profiling code.
- Symptom:
- Function profiling does not work (31-bit only).
- Problem:
- The code emitted by the compiler when doing function profiling (gcc -p) was incorrect.
- Solution:
- Fix profiling code.
- Description:
- Inefficient code generation.
- Symptom:
- Performance regressions compared to gcc 2.95.2.
- Problem:
- In some cases, performance of code generated with the latest compiler was worse than performance of code generated with our gcc 2.95.2 based compilers. The reason for this is that the changes introduced to support better condition code handling, while having an overall positive effect on performance, could in some cases result in worse code because other parts of the optimizer were confused by the now more complex RTL code. In particular, this affected the instruction scheduler and the use of base + index register addressing modes.
- Solution:
- Improve performance in those cases by:
- making better use of base + index addressing.
- improving the scheduler machine description.
- using the Haifa scheduler by default.
- glibc-2.2.4-s390-1.tar.gz MD5 recommended (2001-10-12)
- Description:
- Warnings about zero index or base registers misleading.
- Symptom:
- Endless loop or crashes in user programs that use string streams.
- Problem:
- Using sputback on a strstreambuf object and subsequently deleting it without reading the characters back would cause an invalid memory area to be freed. That can lead to crashed or endless loops.
- Solution:
- Switch back to correct memory area in destructor function for the strstreambuf object.
- Description:
- 64 bit pthread long jump function broken.
- Symptom:
- pthread cleanup function not called on cancel.
- Problem:
- The unwinding of the stack to a previous location in the pthread long jump function fails because of an incorrect address comparison.
- Solution:
- Fix address comparison.
- s390-tools-2.tar.gz MD5 recommended (2001-10-12) (superseded)
- Description:
- s390-tools default install location.
- Symptom:
- The s390-tools binaries were installed into /bin.
- Problem:
- As system administration tools, the default install location for the s390-tools binaries should be /sbin, not /bin.
- Solution:
- Change default install location to /sbin.
- Description:
- fdasd creates invalid partitions.
- Symptom:
- Error message "BUG: overlapping free space extents in FMT5 DSCB!"
- Problem:
- fdasd miscalculated the partition borders if the option -c is used.
- Solution:
- Correct calculation.
- gdb-5.0-s390-2.tar.gz MD5 recommended (2001-10-12)
- Description:
- Incorrect stack frame analysis.
- Symptom:
- gdb doesn't show the (full) stack backtrace.
- Problem:
- In some cases, the stack frame analysis would get confused,
causing gdb to not show the full stack backtrace.
The problem was especially noticable on 64-bit, and when backtracing out of a signal handler or glibc system call.
- Solution:
- Improved stack frame analysis.
- strace-4.2.20010119-s390-1.tar.gz MD5 recommended (2001-10-12)
- Description:
- Follow-fork failed on 64-bit.
- Symptom:
- strace -f does not work on 64-bit.
- Problem:
- The follow-fork mechanism inserts an instruction into the target process. This was not correctly adapted to 64-bit.
- Solution:
- Fixed incorrect instruction.
- OSA-Express QDIO cards will work with the new drivers as before. No changes have been made to the configuration procedure.
- HiperSockets are configured via the channel device layer in the
same way as OSA-Express QDIO cards. For example, you force a
HiperSocket with the line
qeth<n>,<read_devno>,<write_devno>,<data_devno>in the same way as you would do with an OSA-Express QDIO card. Options are added with the add_parms command in the same way as for OSA-Express QDIO cards. Please note that HiperSockets do not support priority queueing. - The networking interfaces for HiperSockets will show up as hsi<n>. The networking interfaces for OSA-Express QDIO cards will show up same as before.
- QDIO Base Support
- qdio-2.4.7-s390-2.tar.gz MD5 and qdio-2.4.7-s390-2-timer.tar.gz MD5 (2001-09-28)
- OSA-Express Driver
- qeth-2.4.7-s390-2.tar.gz MD5 and qeth-2.4.7-s390-2-timer.tar.gz MD5 (2001-09-28)
- Multicasting has to be switched on in the kernel.
- The OSA Express Driver needs QDIO base support.
- Starting with microcode level 0146, OSA-Express QDIO require a portname to be set in the device driver. This portname is specified using "add_parms,0x10,portname:FOOBAR" (more details in the chandev man page).
- Currently, OSA-Express QDIO and HiperSockets do not provide
broadcast functionality.
Broadcast functionality is only available on OSA-2 hardware. - qdio-2.4.7-s390x-2.tar.gz MD5 and qdio-2.4.7-s390x-2-timer.tar.gz MD5 2001-09-28
- qeth-2.4.7-s390x-2.tar.gz MD5 and qeth-2.4.7-s390x-2-timer.tar.gz MD5 2001-09-28
- z90crypt-2.4.7-s390.tar.gz MD5 (2001-09-28)
- linux-2.4.7-s390-1.tar.gz MD5 recommended
- Description:
- IUCV driver restrictions.
- Symptom:
- Only 20 IUCV connections can be defined.
- Problem:
- Static netdevice array only has room for 20 connections.
- Solution:
- Complete rework of the IUCV driver. Now it uses the same state machine approach like the CTC driver and dynamically allocates all structures.
- Description:
- Asynchronous interrupt kernel stack.
- Symptom:
- Kernel crashes under heavy load.
- Problem:
- With the new softirq scheme the kernel stack usage has increased significantly. In the worst case the kernel stack contains the stack frames for a system call, a program check, a softirq and a hard irq. If the kernel stack overflows the task structure is clobbered and this normally ends in a kernel crash.
- Solution:
- To reduce the kernel stack usage a second stack was introduced. This stack contains the stack frames of asynchronous interrupts and the stack frames used by execution of the softirq functions.
- Description:
- Memory detection routine.
- Symptom:
- Processes get killed with addressing exceptions.
- Problem:
- In the boot process the full range of addresses between the end of the kernel and the end of storage is added and later on unusable areas are recognized. The removal of these areas doesn't work and the areas are accessed as normal memory.
- Solution:
- Create a list of usable memory blocks early in the boot process and do not add the unusable memory in the first place.
- Description:
- SMP inter-processor communication.
- Symptom:
- Kernel crashes.
- Problem:
- The next pointer in the list of functions to be called on a processor might get corrupted if the storage of a list element is reused to early.
- Solution:
- Complete rework of smp_call_function to allow only for a single outstanding function call and add a lock to protect against concurrent uses.
- Description:
- Internal timestamps inexact.
- Symptom:
- Newer version of ping warn about "time of day goes back".
- Problem:
- The timestamps used in the socket buffers are created by a call over the function pointer do_get_fast_time. By default this pointer refers to a functions that just copies the content of xtime without adjusting it with the use of the hardware clock.
- Solution:
- Set the pointer do_get_fast_timer to a function that uses the tod clock to get precise time stamps.
- Description:
- IEEE emulation for tceb, tcdb and tcxb.
- Symptom:
- On machines without a real IEEE fpu the emulation warns about unimplemented instructions like tceb, tcdb, tcxb, diebr and didbr.
- Problem:
- The emulation functions for some IEEE instructions have not been implemented yet.
- Solution:
- Implement some of the missing IEEE emulation functions.
- Note:
- The two instructions diebr and didbr are still missing but the GNU C compiler is not using them right now.
- Description:
- Locking problems with module insertion/removal.
- Symptom:
- Process and/or kernel crashes.
- Problem:
- While modules are inserted/removed processes can crash if they are revolving page faults at the same time the module_list is changed.
- Solution:
- Get the modlist_lock before searching the exception tables for program checks.
- Description:
- Dynamic attach/detach of devices.
- Symptom:
- The dynamic attach of devices sometimes does not work.
- Problem:
- The enabling of a subchannel with msch can fail for the first try, the second try works.
- Solution:
- After the first msch do a stsch, check if the device really is enabled and retry if not.
- Description:
- Dasd statistics.
- Symptom:
- The information in /proc/dasd/statistics is incorrect.
- Problem:
- The dasd profiling information is collected after the processing for a request has finished, voiding the profiling information.
- Solution:
- Collect the profiling information before the request is ended.
- Description:
- Dasd autoprobe.
- Symptom:
- The removal of the dasd module inserted without parameter causes an oops.
- Problem:
- For autoprobe the detected dasds are not enabled and no request queue is allocated. The disable routine that is called when the module is removed tries to free the non-existent request queue.
- Solution:
- Add a check for this condition.
- Description:
- Dynamic dasd devices.
- Symptom:
- Attaching/detaching dasd devices from linux causes kernel crashes.
- Problem:
- Deactivation of a dasd device either by a set off or a machine check was not done correctly.
- Solution:
- Correct deactivation code.
- Description:
- Minidisk devices.
- Symptom:
- Using the minidisk discipline of the dasd driver can cause kernel crashes.
- Problem:
- The request queue is changed in the minidisk interrupt function without holding the device lock. A concurrent access to the request queue on a different processor can destroy the request list.
- Solution:
- Acquire the device lock in the interrupt function before modifying the request queue.
- Description:
- Debug area flush.
- Symptom:
- None.
- Problem:
- To analyse a problem it would be useful if the debug area can be flushed of old entries.
- Solution:
- Add an entry in the /proc filesystem that allows to flush the debug area.
- Description:
- Pfault handling.
- Symptom:
- Pfault does not improve the cpu usage of linux if VM starts paging linux guest memory.
- Problem:
- A check in the pfault interrupt routine for the pfault subcode is wrong. The processor resumes execution of the faulting process immediatly which causes another pfault interrupt until the maximum number of pfault interrupts is reached. Then the guest page fault is resolved synchronously.
- Solution:
- Fix the check.
- Description:
- Rebooting 64 bit linux under zVM doesn't work.
- Symptom:
- After all processes have been killed and all but the boot cpu have been deactivated linux stops without restarting.
- Problem:
- To reboot linux under VM the diagnose 8 is used to issue an IPL command to VM. The diagnose 8 is not yet capable of accessing memory above 2GB. The output buffer for the command was allocated on the kernel stack that can reside above 2GB if the machine has enough storage.
- Solution:
- Use a static output buffer for passing the command and protect against concurrent uses with a spinlock.
- Description:
- Socket time stamps in 31 bit programs under 64 bit linux.
- Symptom:
- 31 bit programs get errors calling SIOCGSTAMP ioctl.
- Problem:
- An ioctl was missing in the 31 bit emulation layer.
- Solution:
- Add the iotcl.
- Description:
- stat64 call in 31 bit programs under 64 bit linux.
- Symptom:
- 31 bit programs get wrong data calling stat64.
- Problem:
- The 31 bit emulation of stat64 used an incorrect stat64 structure layout.
- Solution:
- Use the correct stat64 structure.
- Description:
- Signal delivery in 31 bit programs under 64 bit linux.
- Symptom:
- 31 bit programs are dumping their core.
- Problem:
- The delivery of a signal to a 31 bit program under 64 bit linux leads to segmentation faults because the signal handler was called in the 64 bit addressing mode.
- Solution:
- Set the correct mask for 31 bit addressing in the program status word when delivering signals.
- Description:
- CTC driver crashed with more then 2GB.
- Symptom:
- Kernel crashes if CTC is used with more then 2GB memory.
- Problem:
- The idal bit in the channel command words is handled incorrectly.
- Solution:
- Correctly set the idal bit.
-
linux-2.4.7-timer.tar.gz
MD5
recommended
(superseded)
Release notes:
On demand timer patch
Category operating system. Contains a patch for the linux kernel 2.4.7 that will change the timing method from the regular 100 hz interrupts to on demand timer interrupts. This saves some cpu cycles in an idle linux image. The drawback is that a busy linux image will do a small amount of additional work every time the switch between user mode and kernel mode is done. In short if you are running many images under VM the on demand timers are useful but you probably don't want to use it running under LPAR or native. The patch introduces a configuration option CONFIG_NO_HZ_TIMER that lets you choose between the old and the new behavior. Note that you'll need different lcs and qeth modules if you use the no hz timer option. - lcs-2.4.7-s390x-1.tar.gz MD5 and lcs-2.4.7-s390x-timer.tar.gz MD5 (2001-09-14)
- qdio-2.4.7-s390x-1.tar.gz MD5 (2001-09-14)
- qeth-2.4.7-s390x-1.tar.gz MD5 and qeth-2.4.7-s390x-timer.tar.gz MD5 (2001-09-14)
- Multicasting has to be switched on in the kernel.
- The Gigabit Ethernet Driver needs QDIO base support.
- binutils-2.11.90.0.27-brxlg.tar.gz MD5 recommended
- Description:
- brxlg instruction syntax.
- Symptom:
- Message "Error: unsupported relocation type" is issued assembling brxlg.
- Problem:
- The order of the operands of brxlg was entered incorrectly in the instruction table of gas.
- Solution:
- Correct the order of the operands of brxlg.
- gcc-2.95.3-s390-1.tar.gz MD5 recommended
- Description:
- Bad prolog code with -mno-backchain option.
- Symptom:
- Incorrect prolog code is generated.
- Problem:
- Even with the -mno-backchain option, it is sometimes necessary to maintain a backchain, e.g. when the stack frame is too large. The check whether this is the case was wrong.
- Solution:
- Check for correct condition.
- Description:
- Bug in compiler common code (cse).
- Symptom:
- Incorrect code is generated.
- Problem:
- Due to a bug in the cse phase, under some (rare) circumstances it was possible that the compiler did not notice that a register was modified by an instruction, and hence generated invalid code. This can only occur at high optimization level, and has been noticed only in a single test case.
- Solution:
- Fix cse.
- Description:
- Wrong type definitions in the Fortran frontend for 64-bit.
- Symptom:
- The Fortran frontend and the Fortran libraries use inconsistent type definitions.
- Problem:
- The Fortran support libaries try to find out the sizes of the various integer data type by evaluating the ..._SIZE_TYPE macros in header files. This breaks on S/390, as e.g. LONG_SIZE_TYPE is not a compile-time constant (it depends on whether 32-bit or 64-bit code is being generated). As a result, when building the Fortran libraries for 64-bit, type definitions don't match what the Fortran compiler expects, causing a variety of run-time problems.
- Solution:
- Change the type definitions to work both on 32-bit and 64-bit.
- Note:
- This is just a workaround, not a proper fix. It is not guaranteed to work on non-S/390 architectures. This problem is fixed correctly in gcc 3.0.
- s390-tools-1.tar.gz MD5 recommended (superseded)
- Description:
- fdasd: VTOC format 5 DSCB support
- Symptom:
- OS/390 or z/OS cannot read free space information.
- Problem:
- The FMT5 DSCB written by fdasd was empty.
- Solution:
- Fdasd writes now a correct FMT5 DSCB containing free space information.
- Description:
- fdasd: VTOC format 7 DSCB support
- Symptom:
- OS/390 or z/OS cannot read free space information on large disks (>65535 tracks).
- Problem:
- The FMT7 DSCB was missing.
- Solution:
- Fdasd writes now in case of a large disk in addition to the FMT5 a FMT7 DSCB containing free space information.
- Description:
- fdasd: command line mode for one partition
- Symptom:
- None.
- Problem:
- Fdasd goes for every disk in interactive mode. You could not use scripts for a large amount of disks.
- Solution:
- The -a option of fdasd creates one big partition using the whole disk without switching in interactive mode.
- Description:
- fdasd: command line mode using a config file
- Symptom:
- None.
- Problem:
- Creating more than one partition in command line mode (e.g. using scripts).
- Solution:
- The -c option of fdasd uses a config file to create several partitions without switching in interactive mode.
- Description:
- fdasd: supress messages
- Symptom:
- None.
- Problem:
- Non-interactive mode of fdasd (-a or -c) produce to much output (e.g. using scripts)
- Solution:
- The -s option of fdasd to suppress messages.
- Description:
- fdasd: wrong OS/390 data set name
- Symptom:
- The data set name of the same partition has changed from an OS/390 point of view.
- Problem:
- Fdasd has changed the OS/390 data set name for a partition in case you delete and re-create a partition within the same fdasd session.
- Solution:
- The OS/390 data set name does not change anymore.
- Description:
- fdasd: OS/390 data set name contains blanks
- Symptom:
- OS/390 is not able to read the data set names created by fdasd.
- Problem:
- The volume serial contained in the data set name was filled up with blanks in case it had less than 6 characters.
- Solution:
- The OS/390 data set name contains no blanks anymore and can have different length, depending on the volser length.
- Description:
- fdasd: read-only disk access
- Symptom:
- Fdasd seems to write to a read-only disk, but doesn't really write to that disk.
- Problem:
- Fdasd doesn't complain about read-only disks, because the fwrite function calls returned wrong values.
- Solution:
- fdasd checks now for read-only disks and complains about them.
- Description:
- fdasd: wrong free space detection while adding partitions
- Symptom:
- Fdasd seems not to recognize values for new partitions within the range of existing partitions, but moves the value right behind the existing partition without saying anything.
- Problem:
- There was a message missing.
- Solution:
- Fdasd gives the user a message, in case it moves input values.
- Description:
- fdasd: re-create the whole VTOC
- Symptom:
- None.
- Problem:
- How to re-create the whole VTOC without deleting every single partition or in case the VTOC is corrupted.
- Solution:
- Fdasd got a new menu entry 'r', which re-creates the VTOC and deletes all partitions.
- Description:
- dasdfmt: VTOC format 7 DSCB support
- Symptom:
- OS/390 was not able to access large disks (>65536 trks) correctly.
- Problem:
- There was only a FMT5 DSCB containing free space information OS/390 needs in case of a large disk a FMT7 DSCB.
- Solution:
- Dasdfmt writes always a FMT5 DSCB and in case of a large disk in addition a FMT7 DSCB.
- Description:
- dasdfmt: formatting with a blksize >4096 or <512
- Symptom:
- The Disk remains in 'accepted' state and is no longer usable.
- Problem:
- The dasd driver returns error messages and forces dasdfmt to terminate.
- Solution:
- Dasdfmt checks now the given blksize and complains in case blksize > 4096 or blksize < 512.
- Description:
- dasdfmt: booting from a non-bootable disk
- Symptom:
- System hangs with a 'program interrupt loop'.
- Problem:
- Booting from a non-bootable disk results in a program interrupt loop.
- Solution:
- Dasdfmt writes now S/390 compatible boot straps while formatting to get a 'disabled wait' in case of booting from a non-bootable disk.
- Description:
- Hashmarks for dasdfmt
- Symptom:
- None.
- Problem:
- Format progress is not visible and progress bar option is not applicable for x3270 emulation.
- Solution:
- Prints a hashmark every x cylinders, where x is an optional parameter.
- Description:
- Progress bar for dasdfmt.
- Symptom:
- None.
- Problem:
- Format progress is not visible.
- Solution:
- Print a progress bar using the -p option. It is updated after each cylinder.
- Description:
- Multi volume support for system dump (tape 3480/90)
- Symptom:
- Dump is incomplete.
- Problem:
- The dump of a linux image won't fit on a single cartridge if the memory size of the image is bigger then the capacity of the cartridge.
- Solution:
- Allow dumping on several tape cartridges. The zgetdump tool can copy a multi volume dump to a file system in order to analyze it.
- Description:
- Tape device display support.
- Symptom:
- The end of the system dump process is hard to find out.
- Problem:
- The dump process stops by loading a disabled wait psw. This fact is only reflected on the SE where it can easily be overlooked.
- Solution:
- Use the tape display to indicate the dump progress.
- Description:
- 64 bit support for dasd and tape dump.
- Symptom:
- The 31 bit dump records will only copy up to 2GB of system storage and the registers of all processors.
- Note:
- To get 64 bit enabled dump tools, the s390-tools packages needs to be compiled with the 64 bit tool chain.
- gdb-5.0-s390-1.tar.gz MD5 recommended
- Description:
- gdbserver support.
- Problem:
- Compiling a cross debugger for S/390 is not possible.
- Solution:
- Provide the support for cross debugging for S/390.
- Note:
- The gdbserver doesn't support debugging multithreaded applications on S/390 or any other platform. This patch also fixes the target signal remapping for all platforms (for example SIGUSR1 used to be deliveres as SIGBUS).
- kernel 2.4.7, kernel-headers
Category operating system. Contains the Linux kernel source code as well as the S/390 specific layer. - Device File System is supported for all devices.
- Tape support. The tape device driver is no longer experimental.
- Dynamic I/O improvements. This includes support for adding and removing devices that are managed by the channel device layer.
- DASD error recovery. The complete set of error recovery procedures for ECKD devices is implemented.
- Standard S/390 disk layout. A new DASD disk format is introduced to Linux for S/390. A disk with the new format can have up to three partitions and is mountable by any zSeries operating system. A new formatting tool is used to create the new format (see s390-tools package).
- The user space tools dasdfmt and silo are removed. The new package s390-tools contains the replacement programs.
- All recent experimental bug fixes are integrated.
- linux-2.4.7 Kerntypes file
This patch contains a dummy module that includes headers for all kernel types that the dump analysis tool lcrash needs. The kernel type information is used as input by the lcrash utility when analyzing system crash dumps or the live system. The dummy module is built together with the kernel image or simply with: 'make Kerntypes'.
- LCS driver (e.g. Ethernet, Fast Ethernet, Token Ring)
(2000-08-20)
lcs-2.4.7-s390.tar.gz MD5 - QDIO Base Support (2001-08-20)
qdio-2.4.7-s390.tar.gz MD5 - OSA-Express Driver (2001-08-20)
qeth-2.4.7-s390.tar.gz MD5 - Multicasting has to be switched on in the kernel.
- The OSA Express Driver needs QDIO base support.
- lcs-2.4.7-s390x.tar.gz MD5 (2001-08-20)
- qdio-2.4.7-s390x.tar.gz MD5 (2001-08-20)
- qeth-2.4.7-s390x.tar.gz MD5 (2001-08-20)
- Multicasting has to be switched on in the kernel.
- The Gigabit Ethernet Driver needs QDIO base support.
- binutils
Category application development tool. The binutils package is a
collection of various development tools like a linker, a utility
for creating, modifying and extracting from archives, a tool that
displays information from object files, a tool to generate an index
to the contents of an archive and so on.
The following patch contains a fix that adds a missing instruction to the binutils.
binutils-2.11.90.0.27-s390.tar.gz MD5 (2001-08-20)
- gcc
Category application development tool. Contains the C Compiler front-end including architecture dependent back-ends like the S/390 back-end that generates executables for Linux for S/390. The gcc is an application that can be built to run on many different platforms and does not need to run on Linux for S/390.
The following patch adds support for the S/390 and the zSeries to GNU C version 2.95.3. The S/390 / zSeries backend has been completely reworked to optimize the generated code in regard to the condition code handling.
gcc-2.95.3-s390.tar.gz MD5 (2001-08-20)
- glibc, glibc-devel
Category application development tool. These packages contain the GNU C Runtime library for Linux.
The following patch contains some additional bug fixes that enables the use of the glibc version 2.2.3 on S/390 and zSeries.
glibc-2.2.4-s390.tar.gz MD5 (2001-08-20)
- modutils
Category operating system. Contains the Linux kernel module tools.
For modutils-2.4.7 no patch needs to be applied for the S/390 backend.
- s390 tools
Category operating system. Contains the source tree of a set of utilities that replace "dasdfmt" and "silo" from the kernel source.
The package contains:
- dasdfmt, which is used to low-level format ECKD-DASDs with either the classic disk layout or the new zSeries compatible disk layout.
- fdasd, which is used to create or modify partitions on ECKD-DASDs formatted with the zSeries compatible disk layout.
- zipl, which is used to make either dasds or tapes bootable for system IPL or system dump.
- zgetdump, which is used to retrieve system dumps from either tapes or dasds.
s390-tools.tar.gz MD5 (2001-08-20) (superseded)
- gdb
Category application development tool. Contains the GNU debugger. It can be used as an interactive symbolic debugger as well as a post-mortem debugger.
The following patch adds support for S/390 and zSeries to gdb version 5.0.
gdb-5.0-s390.tar.gz MD5 (2001-08-20)
- strace
Category application development tool. This application writes a trace of system calls to the operating system. The following patch contains the backend for zSeries.
strace-4.2.20010119-s390.tar.gz MD5 (2001-08-20)
2003-12-05 kernel 2.4.7 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
+ linux-2.4.7-s390-13.diff (IBM)
+ linux-2.4.7-s390-14.diff (IBM)
+ linux-2.4.7-s390-15.diff (IBM)
+ linux-2.4.7-s390-16.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-8.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-7.diff (IBM)
2003-12-05 OCO modules (kernel 2.4.7) for the "August 2001 stream"
2003-09-04 kernel 2.4.17 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
+ linux-2.4.17-s390-9.diff (IBM)
+ linux-2.4.17-s390-10.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.17-timer-6.diff (IBM)
This patch fixes the following bug:
To create the complete linux kernel sources, apply all IBM kernel 2.4.17 patches on top of linux-2.4.17.tar.gz (see www.kernel.org) and as last patch
+ linux-2.4.17-timer-6.diff (IBM)
kernel 2.4.7 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
+ linux-2.4.7-s390-13.diff (IBM)
+ linux-2.4.7-s390-14.diff (IBM)
+ linux-2.4.7-s390-15.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-8.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-7.diff (IBM)
This patch fixes the following bug:
To create the complete linux kernel sources, apply all IBM kernel 2.4.7 patches on top of linux-2.4.7.tar.gz (see www.kernel.org) and as last patch
+ linux-2.4.7-timer-8.diff (IBM)2003-07-07 kernel 2.4.17 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
+ linux-2.4.17-s390-9.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.17-timer-5.diff (IBM)
2003-07-07 OCO modules (kernel 2.4.17) for the "August 2001 stream"
2003-07-07 kernel 2.4.7 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
+ linux-2.4.7-s390-13.diff (IBM)
+ linux-2.4.7-s390-14.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-7.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-6.diff (IBM)
2003-07-07 OCO modules (kernel 2.4.7) for the "August 2001 stream"
2003-04-16 kernel 2.4.17 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
+ linux-2.4.17-s390-8.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.17-timer-4.diff (IBM)
2003-04-16 kernel 2.4.7 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
- Description:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
+ linux-2.4.7-s390-13.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-6.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-5.diff (IBM)
2003-03-17 kernel 2.4.17 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
+ linux-2.4.17-s390-7.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.17-timer-4.diff (IBM)
2003-03-17 kernel 2.4.7 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-s390-12.diff (IBM)
Note: If On-demand timer is
required, apply on top of above patches:
+ linux-2.4.7-timer-6.diff (IBM)
Note: If Order-2 is required,
apply as last patch (i.e. on top of On-demand timer patch if
needed):
+ linux-2.4.7-order2-5.diff (IBM)
2003-02-20 kernel 2.4.17 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
This patch contains an enhancement of the device driver for channel attached tape devices. It implements an infrastructure which allows to have different tape disciplines as separate Kernel modules. The generic tape driver (tape390) tries to automatically load the known tape disciplines. 3480 and 3490 tape disciplines are included in this patch. The 3590 tape discipline can be downloaded separately from this web site: tape_3590_mod. Basically this functionality is a backport of the May2002 tape driver. For documentation how to use this enhanced tape device driver please refer to "Chapter 5.Channel-attached tape device driver" of the "Linux for zSeries and S/390 Device Drivers and Installation Commands" manual of the May 2002 stream.
This patch also contains the following backports from 2.4.19:
and some cosmetic changes.
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
+ linux-2.4.17-s390-6.diff (IBM)
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
+ linux-2.4.17-order2-2.diff (IBM)
2003-02-20 OCO modules (kernel 2.4.17) for the "August 2001 stream"
2003-02-20 kernel 2.4.7 for the "August 2001 stream"
These patches contain the following Linux kernel bug fixes:
This patch contains an enhancement of the device driver for channel attached tape devices. It implements an infrastructure which allows to have different tape disciplines as separate Kernel modules. The generic tape driver (tape390) tries to automatically load the known tape disciplines. 3480 and 3490 tape disciplines are included in this patch. The 3590 tape discipline can be downloaded separately from this web site: tape_3590_mod. Basically this functionality is a backport of the May2002 tape driver. For documentation how to use this enhanced tape device driver please refer to "Chapter 5.Channel-attached tape device driver" of the "Linux for zSeries and S/390 Device Drivers and Installation Commands" manual of the May 2002 stream.
This patch also contains:
and some cosmetic changes.
Everybody should apply this patch.
To create the complete Linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
Category operating system.
Contains a patch for the linux kernel 2.4.7 that will change the
timing method from the regular 100 hz interrupts to on demand timer
interrupts. This saves some cpu cycles in an idle linux image. The
backdraw is that a busy linux image will do a small amount of
additional work every time the switch between user mode and kernel
mode is done. In short if you are running many images under VM the
on demand timers are useful but you probably don't want to use it
running under LPAR or native. The patch introduces a configuration
option CONFIG_NO_HZ_TIMER that lets you choose between the old and
the new behaviour. Note that you'll need different lcs and qeth
modules if you use the no hz timer option.
This linux-2.4.7-timer-6.tar.gz is a complete replacement for the already shipped timer patches:
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.tar.gz (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-timer-6.diff (IBM)
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
+ linux-2.4.7-s390-11.diff (IBM)
+ linux-2.4.7-order2-5.diff (IBM), or on top of
linux-2.4.7-timer-6.diff (IBM) if timer is required.
2003-02-20 OCO modules (kernel 2.4.7) for the "August 2001 stream"
2003-02-20 Utilities for the "August 2001 stream"
This version of the s390-tools consists out of the following accumulated patches:
s390-tools.tar.gz (IBM)
+ s390-tools-1.diff (IBM)
+ s390-tools-2.diff (IBM)
+ s390-tools-3.diff (IBM)
+ s390-tools-4.diff (IBM)
+ s390-tools-5.diff (IBM)
Besides these patches, the following changes are included in the s390-tools-1.0.6 package:
2002-12-19 OCO modules (kernel 2.4.17) for the "August 2001 stream"
The qdio and qeth 31-bit and 64-bit OCO-modules of 2002-12-19 are replacements for the 2002-08-16 recommended qdio and qeth modules.
Recommended OCO modules 31-bit (superseded)
Recommended OCO modules 64-bit (superseded)
2002-12-19 OCO modules (kernel 2.4.7) for the "August 2001 stream"
The qdio and qeth 31-bit and 64-bit OCO-modules of 2002-12-19 are replacements for the 2002-08-16 recommended qdio and qeth modules.
Recommended OCO modules 31-bit (superseded)
Recommended OCO modules 64-bit (superseded)
2002-11-25 kernel 2.4.17 for the "August 2001 stream"
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
+ linux-2.4.17-s390-5.diff (IBM)
2002-11-25 kernel 2.4.7 for the "August 2001 stream"
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-s390-10.diff (IBM)
2002-09-13 kernel 2.4.7 for the "August 2001 stream"
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.tar.gz (IBM)
+ linux-2.4.7-s390-9-extfix.diff (IBM)
+ linux-2.4.7-timer-5.diff (IBM)
2002-08-16 kernel 2.4.17 for the "August 2001 stream"
This is a backport of the latest fixes in the linux IUCV driver to linux 2.4.17.
Corrected 2002-09-18 to apply in the standard manner.
It addresses a patch by David Kennedy <dkennedy@linuxcare.com> which eliminates a race condition during initialization.
David's patch however, does introduce
another SERIOUS problem: When running on a guest with more than one
CPU it can CRASH YOUR VM!!!
This has been fixed with this patch.
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-s390-4-iucv.diff (IBM)
2002-08-16 kernel 2.4.7 for the "August 2001 stream"
This is a backport of the latest fixes in the linux IUCV driver to kernel 2.4.7.
Corrected 2002-09-13 to apply in the standard manner.
It addresses a patch by David Kennedy <dkennedy@linuxcare.com> which eliminates a race condition during initialization.
David's patch however, does introduce
another SERIOUS problem: When running on a guest with more than one
CPU it can CRASH YOUR VM!!!
This has been fixed with this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-s390-8-iucv.diff (IBM)
2002-08-16 OCO modules (kernel 2.4.17) for the "August 2001 stream"
The qdio and qeth 31-bit and 64-bit OCO-modules of 2002-08-16 are replacements for the 2002-06-17 recommended qdio and qeth modules.
Recommended OCO modules 31-bit (superseded)
Recommended OCO modules 64-bit (superseded)
2002-08-16 OCO modules (kernel 2.4.7) for the "August 2001 stream"
The qdio and qeth 31-bit and 64-bit OCO-modules of 2002-08-16 are replacements for the 2002-06-17 recommended qdio and qeth modules.
Recommended OCO modules 31-bit (superseded)
Recommended OCO modules 64-bit (superseded)
2002-07-25 Tool-chain for the "August 2001 stream"
This patch contains the following compiler bug fixes:
You will need this patch only if you run into problems caused by literal pool overflows.
To create the complete compiler sources, the following patches need to be applied in sequence:
gcc-2.95.3.tar.gz (see gcc.gnu.org)
+ gcc-2.95.3-s390.diff (IBM)
+ gcc-2.95.3-s390-1.diff (IBM)
+ gcc-2.95.3-s390-2.diff (IBM)
+ gcc-2.95.3-s390-3.diff (IBM)
+ gcc-2.95.3-s390-4.diff (IBM)
+ gcc-2.95.3-s390-5.diff (IBM)
This patch contains the following binutils bug fixes:
Everybody should apply this patch.
Note: You should apply the glibc-2.2.4-s390-3 patch to your system as well but you need to be careful with it. Please read the description for the "Undefined weak external" bug for details about this problem.
To create the complete binutils sources, the following patches need to be applied in sequence:
binutils-2.11.90.0.27.tar.gz (see
ftp://www.kernel.org/pub/linux/devel/binutils/)
+ binutils-2.11.90.0.27-s390.diff (IBM)
+ binutils-2.11.90.0.27-s390-1.diff (IBM)
+ binutils-2.11.90.0.27-s390-2.diff (IBM)
+ binutils-2.11.90.0.27-s390-3.diff (IBM)
+ binutils-2.11.90.0.27-s390-4.diff (IBM)
2002-07-04 Tool-chain for the "August 2001 stream"
This patch contains the following binutils bug fixes:
Everybody should apply this patch.
Note: You should apply the glibc-2.2.4-s390-3 patch to your system as well but you need to be careful with it. Please read undef-weak-bug for details about this problem.
To create the complete binutils sources, the following patches need to be applied in sequence:
binutils-2.11.90.0.27.tar.gz (see
ftp://www.kernel.org/pub/linux/devel/binutils/)
+ binutils-2.11.90.0.27-s390.diff (IBM)
+ binutils-2.11.90.0.27-s390-1.diff (IBM)
+ binutils-2.11.90.0.27-s390-2.diff (IBM)
+ binutils-2.11.90.0.27-s390-3.diff (IBM)
2002-06-17 kernel 2.4.17 for the "August 2001 stream"
The 2002-06-17 timer patch supersedes the 2002-04-15 timer patch, which did not apply correctly.
On demand timer
patch:
Category operating system. Contains a patch for the linux kernel
2.4.17 that changes the timing method from the regular 100 hz
interrupts to on demand timer interrupts. This saves some cpu
cycles in an idle linux image. The drawback is that a busy linux
image will do a small amount of additional work every time the
switch between user mode and kernel mode is done. In short if you
are running many images under VM the on demand timers are useful
but you probably don't want to use it running under LPAR or native.
The patch introduces a configuration option CONFIG_NO_HZ_TIMER that
lets you choose between the old and the new behavior. Note that
you'll need different qdio, qeth, and z90crypt modules if you use
the no hz timer option.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
+ linux-2.4.17-timer-3.diff (IBM)
2002-06-17 OCO modules (kernel 2.4.7) for the "August 2001 stream"
The qdio and qeth 31-bit and 64-bit OCO-modules of 2002-06-17 are replacements for the 2002-03-01 recommended qdio and qeth modules (see below description).
Recommended OCO modules 31-bit (superseded)
Recommended OCO modules 64-bit (superseded)
2002-06-17: OSA-Express QDIO enhancement under VM
Gigabit Ethernet throughput (transactions per second) can potentially increase while potentially reducing the VM CP cost (CPU cycles per transaction) for Linux guests using Gigabit Ethernet or Fast Ethernet OSA-Express running QDIO under supported levels of VM, if the following requirements are installed:
Please refer to the OSA-Express QDIO performance enhanced in OSA-Express QDIO performance enhanced in consolidated Linux under z/VM environments document providing more details.
2002-06-12 kernel 2.4.17 for the "August 2001 stream"
This patch contains the following linux kernel bug fixes:
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-3.diff (IBM)
2002-06-04 Tool-chain for the "August 2001 stream"
This patch contains the following compiler bug fixes:
Everyone using the compiler should apply this patch.
To create the complete compiler sources, the following patches need to be applied in sequence:
gcc-2.95.3.tar.gz (see gcc.gnu.org)
+ gcc-2.95.3-s390.diff (IBM)
+ gcc-2.95.3-s390-1.diff (IBM)
+ gcc-2.95.3-s390-2.diff (IBM)
+ gcc-2.95.3-s390-3.diff (IBM)
+ gcc-2.95.3-s390-4.diff (IBM)
2002-04-30 kernel 2.4.17 for the "August 2001 stream"
This patch contains a dummy module that includes headers for all
kernel types that the dump analysis tool lcrash needs. The kernel
type information is used as input by the lcrash utility when
analyzing system crash dumps or the live system. The dummy module
is built together with the kernel image or simply with: 'make
Kerntypes'. Everybody should apply this patch.
These changes do not affect the OCO-modules.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-s390-kerntypes.diff (IBM)
2002-04-15 kernel 2.4.17 for the "August 2001 stream"
This recommended patch contains the following linux kernel bug fixes
Everybody should apply this patch.
These changes do not affect the OCO-modules.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
Release notes: (2002-04-15: adaption to above 2002-04-15 kernel-patches)
On demand timer patch:
Category operating system. Contains a patch for the linux kernel
2.4.17 that changes the timing method from the regular 100 hz
interrupts to on demand timer interrupts. This saves some cpu
cycles in an idle linux image. The drawback is that a busy linux
image will do a small amount of additional work every time the
switch between user mode and kernel mode is done. In short if you
are running many images under VM the on demand timers are useful
but you probably don't want to use it running under LPAR or native.
The patch introduces a configuration option CONFIG_NO_HZ_TIMER that
lets you choose between the old and the new behavior. Note that
you'll need different qdio, qeth, and z90crypt modules if you use
the no hz timer option.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (see www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-s390-2.diff (IBM)
+ linux-2.4.17-timer-2.diff (IBM)
2002-04-15 kernel 2.4.7 for the "August 2001 stream"
This patch contains the following linux kernel bug fixes:
Everybody should apply this patch.
These changes do not affect the OCO-modules.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
Release notes: (2002-04-15: adaption to above 2002-04-15 kernel-patches)
On demand timer patch:
Category operating system. Contains a patch for the linux kernel
2.4.7 that changes the timing method from the regular 100 hz
interrupts to on demand timer interrupts. This saves some cpu
cycles in an idle linux image. The drawback is that a busy linux
image will do a small amount of additional work every time the
switch between user mode and kernel mode is done. In short if you
are running many images under VM the on demand timers are useful
but you probably don't want to use it running under LPAR or native.
The patch introduces a configuration option CONFIG_NO_HZ_TIMER that
lets you choose between the old and the new behavior. Note that
you'll need different qdio, qeth, and z90crypt modules if you use
the no hz timer option.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-s390-7.diff (IBM)
+ linux-2.4.7-timer-4.diff (IBM)
2002-03-18 kernel 2.4.17 for the "August 2001 stream"
This recommended patch supersedes the recommended 2.4.17 "order 2 allocation relief" patch of 2002-02-05.
Important notices:
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
+ linux-2.4.17-order2-1.diff (IBM)
2002-03-18 Tool-chain for the "August 2001 stream"
This patch contains the following compiler bug fixes:
Everyone using the compiler should apply this patch.
To create the complete compiler sources, the following patches need to be applied in sequence:
gcc-2.95.3.tar.gz (see gcc.gnu.org)
+ gcc-2.95.3-s390.diff (IBM)
+ gcc-2.95.3-s390-1.diff (IBM)
+ gcc-2.95.3-s390-2.diff (IBM)
+ gcc-2.95.3-s390-3.diff (IBM)
2002-03-18 kernel 2.4.7 for the "August 2001 stream"
This patch supersedes the recommended 2.4.7 "order 2 allocation relief" patch of 2002-01-21.
Important notices:
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
+ linux-2.4.7-order2-4.diff (IBM)
2002-03-04 kernel 2.4.17 for the "August 2001 stream"
This patch contains the source code for the lcs device driver.
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-s390-1-lcs.diff (IBM)
2002-03-04 kernel 2.4.7 for the "August 2001 stream"
This patch contains the source code for the lcs device driver.
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-s390-6-lcs.diff (IBM)
2002-03-01 OCO modules (kernel 2.4.7) for the "August 2001 stream"
Recommended OCO modules 31-bit
The qdio and qeth 31-bit and 64-bit OCO-modules of 2002-03-01 are replacements for the previously recommended (qdio and qeth) modules.
HiperSockets support for qdio and qeth
HiperSockets
support for VM-guests is available on z/VM 4.2, only and and
requires the application of the PTFs for the following APARs:
VM62938 and VM63034.
Please check the VM service information for latest available
updates: VM Info-APAR II12444 contains useful information for using
Linux under VM.
OCO-modules qdio
and qeth must be selected correctly for kernels with or without the
"on-demand timer" patch applied.
On-demand timer 31-bit kernels now need:
qdio-2.4.7-s390-8-timer.tar.gz, and
qeth-2.4.7-s390-8-timer.tar.gz.
Standard 100 Hertz timer 31-bit kernels: qdio-2.4.7-s390-8.tar.gz,
and qeth-2.4.7-s390-8.tar.gz.
Recommended OCO modules 64-bit
OCO-modules qdio and qeth must be selected correctly for kernels
with or without the "on-demand timer" patch applied.
Note that the "order 2 allocation relief" no longer requires
special OCOs.
HiperSockets support for qdio and qeth
HiperSockets support for VM-guests is available on z/VM 4.2,
only and and requires the application of the PTFs for the following
APARs: VM62938 and VM63034.
Please check the VM service information for latest available
updates: VM Info-APAR II12444 contains useful information for using
Linux under VM.
On-demand timer 64-bit kernels now need:
qdio-2.4.7-s390x-8-timer.tar.gz, and
qeth-2.4.7-s390x-8-timer.tar.gz
Standard 100 Hertz timer 64-bit kernels now need:
qdio-2.4.7-s390x-8.tar.gz, and qeth-2.4.7-s390x-8.tar.gz
2002-02-28 Tool-chain for the "August 2001 stream"
The undefined weak external bug:
This patch contains the following binutils bug fixes:
Everybody should apply this patch.
Note: You should apply the glibc-2.2.4-s390-3 patch to your system as well but you need to be careful with it. Please read undef-weak-bug for details about this problem.
To create the complete binutils sources, the following patches need to be applied in sequence:
binutils-2.11.90.0.27.tar.gz (see
ftp://www.kernel.org/pub/linux/devel/binutils/)
+ binutils-2.11.90.0.27-s390.diff (IBM)
+ binutils-2.11.90.0.27-s390-1.diff (IBM)
+ binutils-2.11.90.0.27-s390-2.diff (IBM)
This patch contains the following glibc bug fixes:
Everybody should apply this patch.
Note: You need to be careful upgrading your system. This patch without the binutils-2.11.90.0.27-s390-2 patch and a recompile of all executables will break your system. Please read undef-weak-bug.txt for details about this problem.
To create the complete glibc sources, the following patches need to be applied in sequence:
glibc-2.2.4.tar.gz (see www.gnu.org/software/libc)
+ glibc-linuxthreads-2.2.4.tar.gz (see
www.gnu.org/software/libc)
+ glibc-2.2.4-s390.diff (IBM)
+ glibc-2.2.4-s390-1.diff (IBM)
+ glibc-2.2.4-s390-2.diff (IBM)
+ glibc-2.2.4-s390-3.diff (IBM)
2002-02-27 Tool-chain for the "August 2001 stream"
This patch contains the following glibc bug fixes:
Everybody should apply this patch.
To create the complete glibc sources, the following patches need to be applied in sequence:
glibc-2.2.4.tar.gz (see www.gnu.org/software/libc)
+ glibc-linuxthreads-2.2.4.tar.gz (see
www.gnu.org/software/libc)
+ glibc-2.2.4-s390.diff (IBM)
+ glibc-2.2.4-s390-1.diff (IBM)
+ glibc-2.2.4-s390-2.diff (IBM)
2002-02-26 Utilities for the "August 2001 stream"
This patch contains the following s390-tools bug fix:
Everybody should apply this patch.
To create the complete S/390 tools sources, the following patches need to be applied in sequence:
s390-tools.tar.gz (IBM)
+ s390-tools-1.diff (IBM)
+ s390-tools-2.diff (IBM)
+ s390-tools-3.diff (IBM)
+ s390-tools-4.diff (IBM)
+ s390-tools-5.diff (IBM)
2002-02-18 OCO modules (kernel 2.4.17) for the "August 2001 stream"
Recommended OCO modules 31-bit
The recommended lcs, qdio, qeth 31-bit kernel 2.4.17
OCO-modules of 2002-02-18 are functionally equivalent to the
2002-01-21 recommended kernel 2.4.7 OCO-modules.
On-demand timer 31-bit kernels need:
lcs-2.4.17-s390-1-timer.tar.gz, qdio-2.4.17-s390-1-timer.tar.gz,
and qeth-2.4.17-s390-1-timer.tar.gz.
Standard 100 Hertz timer 31-bit kernels need:
lcs-2.4.17-s390-1.tar.gz, qdio-2.4.17-s390-1.tar.gz, and
qeth-2.4.17-s390-1.tar.gz.
Recommended OCO modules 64-bit
The recommended lcs, qdio, qeth 64-bit kernel 2.4.17
OCO-modules of 2002-02-18 are functionally equivalent to the
2002-01-21 recommended kernel 2.4.7 OCO-modules.
On-demand timer 64-bit kernels need:
lcs-2.4.17-s390x-1-timer.tar.gz, qdio-2.4.17-s390x-1-timer.tar.gz,
and qeth-2.4.17-s390x-1-timer.tar.gz.
Standard 100 Hertz timer 64-bit kernels need:
lcs-2.4.17-s390x-1.tar.gz, qdio-2.4.17-s390x-1.tar.gz, and
qeth-2.4.17-s390x-1.tar.gz.
2002-02-05 kernel 2.4.17 for the "August 2001 stream"
The 2002-02-05 set of Linux Kernel version 2.4.17 recommended
patches for Linux for S/390 and Linux for zSeries provides currency
work: The current recommended kernel 2.4.7 code base has been
adapted to kernel 2.4.17. This code has only been tested very
rudimentarily and is provided for interested power users as part of
our currency work.
Please note that the "on-demand-timer" and "order 2 allocation
relief" patches also required adaptions (see below).
Furthermore the 31-bit and 64-bit OCO-modules lcs, qdio, qeth are
provided functionally equivalent to the recommended 2002-01-21
kernel 2.4.7 OCO-modules.
It should be possible to build recommended drivers using:
and the recommended 31-bit and 64-bit OCO-modules lcs, qdio, qeth.
As we are not aware of any Kernel 2.4.17-specific restrictions,
the kernel 2.4.7 Restrictions "August 2001
stream" also apply.
Please see the kernel 2.4 Documentation "August 2001
stream" page for the 31-bit and 64-bit manuals, which may be
helpful.
Important notices:
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.17.tar.gz (www.kernel.org)
+ linux-2.4.17-s390.diff (IBM)
+ linux-2.4.17-order2.diff (IBM)
2002-02-05 OCO modules (kernel 2.4.17) for the "August 2001 stream"
Recommended OCO modules 31-bit (superseded)
The recommended lcs, qdio, qeth 31-bit kernel 2.4.17
OCO-modules of 2002-02-05 are functionally equivalent to the
2002-01-21 recommended kernel 2.4.7 OCO-modules.
On-demand timer 31-bit kernels need: lcs-2.4.17-s390-timer.tar.gz,
qdio-2.4.17-s390-timer.tar.gz, and
qeth-2.4.17-s390-timer.tar.gz.
Standard 100 Hertz timer 31-bit kernels need:
lcs-2.4.17-s390.tar.gz, qdio-2.4.17-s390.tar.gz, and
qeth-2.4.17-s390.tar.gz.
Recommended OCO modules 64-bit (superseded)
The recommended lcs, qdio, qeth 64-bit kernel 2.4.17
OCO-modules of 2002-02-05 are functionally equivalent to the
2002-01-21 recommended kernel 2.4.7 OCO-modules.
On-demand timer 64-bit kernels need: lcs-2.4.17-s390x-timer.tar.gz,
qdio-2.4.17-s390x-timer.tar.gz, and
qeth-2.4.17-s390x-timer.tar.gz.
Standard 100 Hertz timer 64-bit kernels need:
lcs-2.4.17-s390x.tar.gz, qdio-2.4.17-s390x.tar.gz, and
qeth-2.4.17-s390x.tar.gz.
2002-01-21 kernel 2.4.7 for the "August 2001 stream"
This patch contains the following linux kernel bug fixes:
In addition, the patch contains the following feature:
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
Release notes:
On demand timer patch:
Category operating system. Contains a patch for the linux kernel
2.4.7 that changes the timing method from the regular 100 hz
interrupts to on demand timer interrupts. This saves some cpu
cycles in an idle linux image. The drawback is that a busy linux
image will do a small amount of additional work every time the
switch between user mode and kernel mode is done. In short if you
are running many images under VM the on demand timers are useful
but you probably don't want to use it running under LPAR or native.
The patch introduces a configuration option CONFIG_NO_HZ_TIMER that
lets you choose between the old and the new behavior. Note that
you'll need different lcs, qdio, qeth, and z90crypt modules if you
use the no hz timer option.
Important notice:
In earlier versions of the timer patch, kernels built with the
patch applied but with CONFIG_NO_HZ_TIMER switched off were
still incompatible with the regular OCO modules (and also to
the timer-patch OCO modules). This problem is fixed in this version
of the patch. If CONFIG_NO_HZ_TIMER is switched off, the kernel is
now compatible with the regular OCO modules.
Note that the "order 2 allocation relief" patch for 64 bit is
not compatible with the "on-demand timer" patch.
This patch is identical with the experimental 2.4.7 "order 2 allocation relief" patch from 2001-12-12. It has been moved from the experimental to the recommended state for 64 bit.
Important notices:
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
+ linux-2.4.7-s390-5.diff (IBM)
+ linux-2.4.7-order2-3.diff (IBM)
2002-01-21 OCO modules (kernel 2.4.7) for the "August 2001 stream"
Recommended OCO modules 31-bit
The lcs, qdio, qeth 31-bit and 64-bit OCO-modules of 2002-01-21 are replacements for the previously recommended modules.
HiperSockets support for qdio and qeth
OCO-modules lcs, qdio,qeth, and z90crypt must be selected correctly
for kernels with or without the 2002-01-21 "on-demand timer" patch
applied.
On-demand timer 31-bit kernels with the 2002-01-21 patches now
need: lcs-2.4.7-s390-6-timer.tar.gz,
qdio-2.4.7-s390-7-timer.tar.gz, qeth-2.4.7-s390-7-timer.tar.gz, and
z90crypt-2.4.7-s390-2-timer.tar.gz.
Standard 100 Hertz timer 31-bit kernels with the 2002-01-21 patches
now need: lcs-2.4.7-s390-6.tar.gz, qdio-2.4.7-s390-7.tar.gz,
qeth-2.4.7-s390-7.tar.gz, and z90crypt-2.4.7-s390-2.tar.gz.
Recommended OCO modules 64-bit (superseded)
OCO-modules lcs, qdio, qeth, and z90crypt must be selected
correctly for kernels with or without the 2002-01-21 "on-demand
timer" patch applied.
Note that the "order 2 allocation relief" patch is now recommended
and furthermore no longer requires special OCOs.
HiperSockets support for qdio and qeth
On-demand timer 64-bit kernels with the 2002-01-21 patches now
need: lcs-2.4.7-s390x-6-timer.tar.gz,
qdio-2.4.7-s390x-7-timer.tar.gz, and
qeth-2.4.7-s390x-7-timer.tar.gz
Standard 100 Hertz timer 64-bit kernels with the 2002-01-21 patches
now need: lcs-2.4.7-s390x-6.tar.gz, qdio-2.4.7-s390x-7.tar.gz, and
qeth-2.4.7-s390x-7.tar.gz
2001-12-12 Utilities for the "August 2001 stream"
This patch contains the following s390-tools bug fix:
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
+ linux-2.4.7-s390-4.diff (IBM)
Release notes:
On demand timer patch:
Category operating system. Contains a patch for the linux kernel
2.4.7 that changes the timing method from the regular 100 hz
interrupts to on demand timer interrupts. This saves some cpu
cycles in an idle linux image. The drawback is that a busy linux
image will do a small amount of additional work every time the
switch between user mode and kernel mode is done. In short if you
are running many images under VM the on demand timers are useful
but you probably don't want to use it running under LPAR or native.
The patch introduces a configuration option CONFIG_NO_HZ_TIMER that
lets you choose between the old and the new behavior. Note that
you'll need different lcs, qdio, and qeth modules if you use the no
hz timer option.
2001-11-23 OCO modules (kernel 2.4.7) for the "August 2001 stream"
Recommended OCO modules 31-bit (superseded)
The lcs, qdio, qeth 31-bit and 64-bit OCO-modules of 2001-11-23 are replacements for the previously recommended modules.
OCO-modules lcs, qdio, and qeth must be selected correctly for
kernels with or without the 2001-11-23 "on-demand timer" patch
applied.
On-demand timer 31-bit kernels with the 2001-11-23 patches now
need: lcs-2.4.7-s390-4-timer.tar.gz,
qdio-2.4.7-s390-5-timer.tar.gz, and
qeth-2.4.7-s390-5-timer.tar.gz.
Standard 100 Hertz timer 31-bit kernels with the 2001-11-23 patches
now need: lcs-2.4.7-s390-4.tar.gz, qdio-2.4.7-s390-5.tar.gz, and
qeth-2.4.7-s390-5.tar.gz.
Recommended OCO modules 64-bit (superseded)
OCO-modules lcs, qdio, and qeth must be selected correctly for
kernels with or without the 2001-11-23 "on-demand timer" patch
applied.
On-demand timer 64-bit kernels with the 2001-11-23 patches now
need: lcs-2.4.7-s390x-4-timer.tar.gz,
qdio-2.4.7-s390x-5-timer.tar.gz, and
qeth-2.4.7-s390x-5-timer.tar.gz
Standard 100 Hertz timer 64-bit kernels with the 2001-11-23 patches
now need: lcs-2.4.7-s390x-4.tar.gz, qdio-2.4.7-s390x-5.tar.gz, and
qeth-2.4.7-s390x-5.tar.gz
2001-11-09 kernel 2.4.7 for the "August 2001 stream"
The 2001-11-09 set of Linux Kernel version 2.4.7 and s390 tools
recommended patches for Linux for S/390 and Linux for zSeries
deliver several fixes and updates.
Furthermore the 31-bit and 64-bit recommended OCO-modules lcs,
qdio, qeth have been updated with bug-fixes.
Together with the 2001-10-12 and 2001-09-14 patches applied on top of the first set (2001-08-20) of kernel 2.4.7 recommended patches, Linux for S/390 31-bit distributions and Linux for zSeries 64-bit distributions can be built using:
and the updated recommended 31-bit and 64-bit OCO-modules lcs, qdio, qeth.
Please check out the Restrictions "August 2001
stream" page on Kernel 2.4.7.
Please refer to the Experimental "August 2001 stream"
page for an experimental kernel 2.4.7 patch for 64-bit
distributions and the matching 64-bit OCO modules. An updated
z90crypt 31-bit OCO module is also provided there.
Please see the kernel 2.4 Documentation "August 2001
stream" page for the 31-bit and 64-bit manuals.
"On-demand Timer"
Release notes:
This patch contains the following linux kernel bug fixes:
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
+ linux-2.4.7-s390-3.diff (IBM)
2001-11-09 Utilities for the "August 2001 stream"
This patch contains the new s390-tool dasdview, which could be used to display DASD and VTOC information or to dump the content of a DASD to the console. For more information see the dasdview man page.
In addition are there the following bug fixes:
Everybody should apply this patch.
To create the complete S/390 tools sources, the following patches need to be applied in sequence:
s390-tools.tar.gz (IBM)
+ s390-tools-1.diff (IBM)
+ s390-tools-2.diff (IBM)
+ s390-tools-3.diff (IBM)
2001-11-09 OCO modules (kernel 2.4.7) for the "August 2001 stream"
Recommended OCO modules 31-bit (superseded)
The lcs, qdio, qeth 31-bit and 64-bit OCO-modules of 2001-11-09 are replacements for the previously recommended modules.
OCO-modules lcs, qdio, and qeth must be selected correctly for kernels with or without the 2001-10-12 "on-demand timer" patch applied.
On-demand timer 31-bit kernels with the 2001-11-09 patches now
need: lcs-2.4.7-s390-3-timer.tar.gz,
qdio-2.4.7-s390-4-timer.tar.gz, and
qeth-2.4.7-s390-4-timer.tar.gz.
Standard 100 Hertz timer 31-bit kernels with the 2001-11-09 patches
now need: lcs-2.4.7-s390-3.tar.gz, qdio-2.4.7-s390-4.tar.gz, and
qeth-2.4.7-s390-4.tar.gz.
Recommended OCO modules 64-bit (superseded)
OCO-modules lcs, qdio, and qeth must be selected correctly for kernels with or without the 2001-10-12 "on-demand timer" patch applied.
On-demand timer 64-bit kernels with the 2001-11-09 patches now
need: lcs-2.4.7-s390x-3-timer.tar.gz,
qdio-2.4.7-s390x-4-timer.tar.gz, and
qeth-2.4.7-s390x-4-timer.tar.gz
Standard 100 Hertz timer 64-bit kernels with the 2001-11-09 patches
now need: lcs-2.4.7-s390x-3.tar.gz, qdio-2.4.7-s390x-4.tar.gz, and
qeth-2.4.7-s390x-4.tar.gz
2001-10-12 kernel 2.4.7 for the "August 2001 stream"
This patch contains the following linux kernel bug fixes:
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
+ linux-2.4.7-s390-2.diff (IBM)
Release notes:
On demand timer patch
Category operating system. Contains a patch for the linux kernel
2.4.7 that will change the timing method from the regular 100 hz
interrupts to on demand timer interrupts. This saves some cpu
cycles in an idle linux image. The drawback is that a busy linux
image will do a small amount of additional work every time the
switch between user mode and kernel mode is done. In short if you
are running many images under VM the on demand timers are useful
but you probably don't want to use it running under LPAR or native.
The patch introduces a configuration option CONFIG_NO_HZ_TIMER that
lets you choose between the old and the new behavior. Note that
you'll need different lcs and qeth modules if you use the no hz
timer option.
2001-10-12 OCO modules (kernel 2.4.7) for the "August 2001 stream"
Recommended OCO modules 31-bit (superseded)
Recommended OCO modules 64-bit (superseded)
2001-10-12 Tool-chain for the "August 2001 stream"
Release notes:
This patch contains the following binutils bug fix:
The patch contains the following additions and changes:
Everybody should apply this patch.
To create the complete binutils sources, the following patches need to be applied in sequence:
binutils-2.11.90.0.27.tar.gz (see
ftp://www.kernel.org/pub/linux/devel/binutils/)
+ binutils-2.11.90.0.27-s390.diff (IBM)
+ binutils-2.11.90.0.27-s390-1.diff (IBM)
This patch contains the following compiler bug fixes:
As it is not easily predictable which source code triggers the code generation bugs fixed here, everyone using the compiler should apply this patch.
To create the complete compiler sources, the following patches need to be applied in sequence:
gcc-2.95.3.tar.gz (see gcc.gnu.org)
+ gcc-2.95.3-s390.diff (IBM)
+ gcc-2.95.3-s390-1.diff (IBM)
+ gcc-2.95.3-s390-2.diff (IBM)
This patch contains the following glibc bug fixes:
Everybody should apply this patch.
To create the complete glibc sources, the following patches need to be applied in sequence:
glibc-2.2.4.tar.gz (see www.gnu.org/software/libc)
+ glibc-linuxthreads-2.2.4.tar.gz (see
www.gnu.org/software/libc)
+ glibc-2.2.4-s390.diff (IBM)
Utilities for the "August 2001 stream"
This patch contains the following s390-tools bug fixes:
Everybody should apply this patch.
To create the complete S/390 tools sources, the following patches need to be applied in sequence:
s390-tools.tar.gz (IBM)
+ s390-tools-1.diff (IBM)
+ s390-tools-2.diff (IBM)
Note:
There is a new lkcdutils version (4.0) which contains the dump
analysis tool "lcrash" with Linux for zSeries support (64-bit).
With this version of lcrash, it is possible to analyze 64-bit Linux
for zSeries system memory dumps. You can download it at:
//lkcd.sourceforge.net/download/4.0/lkcdutils
2001-10-12 Debug tools for the "August 2001 stream"
This patch contains the following gdb bug fixes:
You should apply this patch if you are experiencing problems with stack backtraces (for 64-bit support you should apply the patch in any case).
To create the complete gdb sources, the following patches need to be applied in sequence:
gdb-5.0.tar.gz (see sourceware.cygnus.com/gdb)
+ gdb-5.0-s390.diff (IBM)
+ gdb-5.0-s390-1.diff (IBM)
+ gdb-5.0-s390-2.diff (IBM)
This patch contains the following strace bug fix:
You should apply this patch if you want to use strace on the 64-bit zSeries architecture.
To create the complete strace sources, the following patches need to be applied in sequence:
strace-4.2.20010119.tar.gz (RedHat 7.1)
+ strace-4.2.20010119-s390.diff (IBM)
+ strace-4.2.20010119-s390-1.diff (IBM)
2001-09-28 OCO modules (kernel 2.4.7) for the "August 2001 stream"
Recommended OCO modules (31-bit) - qdio and qeth device drivers (superseded)
The following network device drivers are compatible with the Linux kernel version 2.4.7 as of 2001-09-14 and are object code only.
HiperSockets support for qdio and qeth
The qdio and qeth OCO modules based on kernel level 2.4.7 now support HiperSockets as well as OSA-Express QDIO cards. The support of HiperSockets was tested for Linux for S/390 running under LPAR only.
In the Documentation "August 2001 stream" section you can find the Linux for S/390 Device Drivers and Installation Commands manual and the new HiperSockets Device Driver manual, which describe the use of these device drivers.
Configuration considerations:
Note: If you are using the linux-2.4.7-timer.diff and have the CONFIG_NO_HZ_TIMER option switched on, you will have to use the lcs or qeth module with the timer option (e.g. lcs-2.4.7-s390-timer.o instead of lcs-2.4.7-s390-1.o)
Restrictions for QDIO base support and OSA-Express Driver:
LCS driver
The LCS driver remains unchanged since 2001-09-14.
Experimental OCO modules (64-bit) - qdio and qeth device drivers (superseded)
The following experimental 64-bit device drivers are compatible with Linux kernel version 2.4.7 as of 2001-09-14 and are object code only.
The qdio and qeth OCO modules now also support HiperSockets for Linux for S/390 running under LPAR.
For configuration considerations refer to the corresponding 31-bit OCO modules as of 2001-09-28.
Note: If you are using the linux-2.4.7-timer.diff and have the CONFIG_NO_HZ_TIMER option switched on, you will have to use the modules with timer (e.g. qeth-2.4.7-s390x-2-timer.o instead of qeth-2.4.7-s390x-2.o).
Experimental OCO module (31-bit) - z90crypt device driver (superseded)
The z90crypt device driver provides an I/O-like interface to any PCI Cryptographic Coprocessors (PCICC) attached to an S/390. The only cryptographic function currently supported is RSA PKCS private key decrypt.
Installation and usage are described in the included README file. Note that unless your system has at least one PCICC, this driver does not work.
2001-09-14 kernel 2.4.7 for the "August 2001 stream"
Release notes:
This patch contains the following linux kernel bug fixes:
Everybody should apply this patch.
To create the complete linux kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (see www.kernel.org)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-1.diff (IBM)
2001-09-14 OCO modules (kernel 2.4.7) for the "August 2001 stream"
Experimental OCO modules (64-bit) (superseded)
The following experimental 64-bit device drivers are compatible with Linux kernel version 2.4.7 as of 2001-09-14 and are object code only. Documentation on their use can be found in the Documentation section.
Note: If you are using the linux-2.4.7-timer.diff and have the CONFIG_NO_HZ_TIMER option switched on, you will have to use lcs-2.4.7-s390x-timer.o module instead of lcs-2.4.7-s390x-1.o and qeth-2.4.7-s390x-timer.o instead of qeth-2.4.7-s390x-1.o.
Restrictions for QDIO base support and OSA-Express Gigabit Ethernet Driver:
2001-09-14 Tool-chain for the "August 2001 stream"
Release notes:
This patch contains the following binutils bug fix:
Everybody using the 64 bit compiler dated 2001-08-18 should apply this patch. The brxlg is rarely used but some very big functions will require it.
To create the complete binutils sources, the following patches need to be applied in sequence:
binutils-2.11.90.0.27.tar.gz (see
ftp://www.kernel.org/pub/linux/devel/binutils/)
+ binutils-2.11.90.0.27-s390.diff (IBM)
+ binutils-2.11.90.0.27-brxlg.diff (IBM)
Release notes:
This patch contains the following compiler bug fixes:
As it is not easily predictable which source code triggers the code generation bugs fixed here, everyone using the compiler should apply this patch.
To create the complete compiler sources, the following patches need to be applied in sequence:
gcc-2.95.3.tar.gz (see gcc.gnu.org)
+ gcc-2.95.3-s390.diff (IBM)
+ gcc-2.95.3-s390-1.diff (IBM)
2001-09-14 Utilities for the "August 2001 stream"
Release notes:
This patch contains the following s390-tools bug fixes/improvements:
Everybody should apply this patch.
To create the complete s390-tools sources, the following patches need to be applied in sequence:
s390-tools.tar.gz (IBM)
+ s390-tools-1.diff (IBM)
2001-09-14 Debug tools for the "August 2001 stream"
Release notes:
This patch contains the following gdb bug fix:
Everybody who wants to setup a gdbserver will need this patch.
To create the complete gdb sources, the following patches need to be applied in sequence:
gdb-5.0.tar.gz (see sourceware.cygnus.com/gdb)
+ gdb-5.0-s390.diff (IBM)
+ gdb-5.0-s390-1.diff (IBM)
2001-08-20 kernel 2.4.7 for the "August 2001 stream"
The following patch contains bug fixes and new features for the Linux kernel version 2.4.7. The summary of important changes:
linux-2.4.7-s390.tar.gz MD5 (2001-08-20)
To create the complete kernel sources, the following patches need to be applied in sequence:
linux-2.4.7.tar.gz (GPL)
+ linux-2.4.7-s390.diff (IBM)
+ linux-2.4.7-s390-kerntypes.diff (IBM)
linux-2.4.7-s390-kerntypes.tar.gz MD5 (2001-08-20)
2001-08-20 OCO modules (kernel 2.4.7) for the "August 2001 stream"
OCO modules (31-bit): (superseded)
These network device drivers are compatible with the Linux kernel version 2.4.7 and are object code only. Documentation on their use can be found in the Linux for S/390 device drivers manual in the Documentation section.
Restrictions for QDIO base support and OSA-Express Driver:
experimental OCO modules (64-bit): (superseded)
The following experimental 64-bit device drivers are compatible with Linux kernel version 2.4.7 and are object code only. Documentation on their use can be found in the Documentation section.
Restrictions for QDIO base support and OSA-Express Gigabit Ethernet Driver: