AminetAminet
Search:
82086 packages online
About
Recent
Browse
Search
Upload
Setup
Services

util/boot/BK_IntAckFix.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:BlizKick module:fix interrupt acknowledge
Author:wepl.iaf at whdload.de (Bert Jahn)
Uploader:wepl iaf whdload de (Bert Jahn)
Type:util/boot
Version:0.1
Architecture:m68k-amigaos
Date:2007-12-03
Download:http://aminet.net/util/boot/BK_IntAckFix.lha - View contents
Readme:http://aminet.net/util/boot/BK_IntAckFix.readme
Downloads:1171
Overview
--------

This is a BlizKick (Harry Sintonen) module which fixes the interrupt
acknowledge bug which occurs on fast 68040/60 machines and is (to my
knowledge) present in all kickstart versions (also in piru's exec44).

The patch adds a 'tst.w (_custom+intreqr)' before the 'rte' in the 
Exec function ExitIntr used internally to end interrupts. This makes
sure, that the intreq line has been cleared before quitting the
interrupt handler. And with that avoid obsolete interrupts.

This patch is tested only with a custom build romimage using kick31 +
updates + exec44 using Remus 0.97 on a A4000 CSPPC 060/50.
It should work with all kickstarts >=v37.
It makes no sense to use this on CPU's lower than a 68040 because the
problem to fix will not occure on these systems (although it will not
harm these).

This patch will improve the performance because dummy interrupts will
be avoided. 
I wrote this to find out if this is the reason for bad performance of
my ethernet card. But it seems the xsurf.device driver has other
problems too.
You will probably not notice a performance gain. A good chance to see
a speed increase may be the serial line which causes a lot of
interrupts. But I have not testet that.

Usage
-----

See BlizKick or Remus docs how to use it.


ChkInts
-------

This is a small command line tool which patches the Level-2 interrupt
vector to check if there are interrupts without the appropriate bit
set in the intreq register. It prints the number of all interrupts
occured and the number of interrupts without request. 
You can specify the interval time in ticks (1/50s) for the print out.
The default interval is 10 (0.2s).

To check if you have the interrupt acknowledge bug run ChkInts. The
second number should be always zero. Pressing the keyboard should not
cause interrupts without request.


History
-------

0.1 (03.12.2007)
- initial release


Thanks
------

Harry (Piru) Sintonen for BlizKick and exec44
doobrey for RomSplit and Remus



Contents of util/boot/BK_IntAckFix.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                 1068    1640  65.1% -lh5- ff24 Dec  3 12:09 BK_IntAckFix/ChkInts
[generic]                  414     556  74.5% -lh5- a3f1 Dec  3 12:14 BK_IntAckFix/IntAckFix
[generic]                 1101    2168  50.8% -lh5- 0d01 Dec  3 13:08 BK_IntAckFix/ReadMe.txt
[generic]                 1751    5213  33.6% -lh5- 6dab Dec  3 12:17 BK_IntAckFix/src/ChkInts.asm
[generic]                 1779    4123  43.1% -lh5- ec70 Dec  3 12:13 BK_IntAckFix/src/IntAckFix.asm
[generic]                 2440    6431  37.9% -lh5- 81d3 Aug 19 13:34 BK_IntAckFix/src/sources/devices.i
[generic]                 2330    6668  34.9% -lh5- 6a5c Aug 19 13:34 BK_IntAckFix/src/sources/dosio.i
[generic]                 1452    3357  43.3% -lh5- 83e4 Aug 19 13:34 BK_IntAckFix/src/sources/error.i
[generic]                 3196    9248  34.6% -lh5- 24d1 Aug 19 13:34 BK_IntAckFix/src/sources/strings.i
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         9 files   15531   39404  39.4%            Dec  3 09:14

Aminet © 1992-2017 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>