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>