diff options
author | gibbs <gibbs@FreeBSD.org> | 2010-07-14 14:31:18 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 2010-07-14 14:31:18 +0000 |
commit | 6cc9a00e92553e95008045af113d896f5b8c075c (patch) | |
tree | 4c45cb872f5abca9d960f035acfac8156003ad05 /sys/dev/aic7xxx/aic7xxx.reg | |
parent | b8b00841c93af095bbb283ea2d9a8662a7c55687 (diff) | |
download | FreeBSD-src-6cc9a00e92553e95008045af113d896f5b8c075c.zip FreeBSD-src-6cc9a00e92553e95008045af113d896f5b8c075c.tar.gz |
Correct logic bug in aicasm's undefined register bit access detection code.
The code in question verifies that all register write operations only change
bits that are defined (in the register definition file) for that effected
register. The bug effectively disabled this checking.
o Fix the check by testing the opcode against all supported read ("and" based)
operands.
o Add missing bit definitions to the aic7xxx and aic79xx register definition
files so that the warning (treated as a fatal error) does not spuriously
fire.
Reported by: Pawel Worach <pawel.worach@gmail.com>
MFC after: 1 week
Diffstat (limited to 'sys/dev/aic7xxx/aic7xxx.reg')
-rw-r--r-- | sys/dev/aic7xxx/aic7xxx.reg | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/aic7xxx/aic7xxx.reg b/sys/dev/aic7xxx/aic7xxx.reg index 076c2ba..5042c50 100644 --- a/sys/dev/aic7xxx/aic7xxx.reg +++ b/sys/dev/aic7xxx/aic7xxx.reg @@ -1448,6 +1448,7 @@ scratch_ram { mask EXIT_MSG_LOOP 0x08 mask CONT_MSG_LOOP 0x04 mask CONT_TARG_SESSION 0x02 + mask SPARE 0x01 alias RETURN_1 } ARG_2 { |