Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jul 1997 10:29:26 +0200 (MET DST)
From:      Mikael Hybsch <micke@dynas.se>
To:        freebsd-current@freebsd.org
Subject:   Re: aha0: DMA beyond end Of ISA
Message-ID:  <Pine.GSO.3.96.970730100806.10050B-100000@spirit.dynas.se>
In-Reply-To: <Pine.GSO.3.96.970728102938.19878A-100000@spirit.dynas.se>

next in thread | previous in thread | raw e-mail | index | archive | help
It now looks as if the problem is in the function scsi_read_capacity()
in scsi_base.c. It calls scsi_scsi_cmd() with the address of a local
variable (rdcap) as the data_addr argument.

By printing &rdcap and vtophys(&rdcap) while trying to mount the cdrom
and running programs in the background that allocate memory, the
physical address of rdcap eventually exceeded 16M and the mount failed.

If the kernel stack is allowed to be allocated above 16M,
scsi_read_capacity() needs some special code to handle the
BOUNCE_BUFFERS option.

On Mon, 28 Jul 1997, I wrote:
> I have a 486 with 24M memory and a 1542B connected to a HP 4020i.
> 
> Frequently when I try to access the CD or burn a new CD,  I get the  message
> aha0: DMA beyond end Of ISA: 0x1154d24
> or other addresses above 0x1000000.
> 
> By repeating the mount command it will eventually succeed.
> 
> I'm running 3.0-current as of some days ago and 
> have the BOUNCE_BUFFERS option in the kernel, so what
> could be causing this?

-- 
 Mikael Hybsch                        Email: micke@dynas.se
 DynaSoft, Dynamic Software AB        Phone: +46-8-7250900
 Box 10704			      Fax:   +46-8-6494970
 S-121 29 STOCKHOLM, SWEDEN







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.96.970730100806.10050B-100000>