Subject: Re: kern/3216: illegal use of bus_addr_t as bus_space_handle_t in if_le_isa.c
To: None <drochner@zelux6.zel.kfa-juelich.de>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: netbsd-bugs
Date: 02/12/1997 15:52:33
On Wed, 12 Feb 1997 19:02:00 +0100 (MET)
Matthias Drochner <drochner@zelz28.zel.kfa-juelich.de> wrote:
>
> >Description:
> In sys/dev/isa/if_le_isa.c, function depca_isa_probe(), the second
> argument to bus_space_unmap() is the physical memory address, not the
> handle as
> returned by bus_space_map() before. For the i386, this causes a panic
> in extent_free()
> because the pmap_extract() in bus_space_unmap() returned a "0".
"oops!" Fixed.
> Possible / future bugs:
> To check if this bug or similar ones occur in other drivers too, I made
> bus_space_handle_t
> more abstract and compiled a "GENERIC" kernel. The following compiler
> warnings appeared:
> -sys/dev/isa/sb_isa.c: similar bug in sb_isa_match() (but without
> consequences up to now
> because handles and addresses are identical for ISA on i386)
Fixed that one, too.
> -sys/i386/isa/if_fea.c: in pdq_eisa_devinit(), arithmetics with handles
I've fixed this, too... that one just sort of slipped by me...
> -sys/i386/isa/isapnp_machdep.c: in isapnp_map() and isapnp_map_readport(),
> use of
> integer constants as handles
This is OK ... this is machine-dependent code, which is allowed to know
about the guts.
Thanks for pointing these out!
Jason R. Thorpe thorpej@nas.nasa.gov
NASA Ames Research Center Home: 408.866.1912
NAS: M/S 258-6 Work: 415.604.0935
Moffett Field, CA 94035 Pager: 415.428.6939