Date: Sat, 30 Sep 1995 03:59:07 -0700 From: David Greenman <davidg@Root.COM> To: Julian Elischer <julian@ref.tfs.com> Cc: hackers@freebsd.org Subject: Re: correctness of isa.c Message-ID: <199509301059.DAA01827@corbin.Root.COM> In-Reply-To: Your message of "Sat, 30 Sep 95 02:36:51 PDT." <199509300936.CAA18581@ref.tfs.com>
next in thread | previous in thread | raw e-mail | index | archive | help
>grrrrr > >If I were to 'fix' this for all our drivers, >does anyone here see a really important reason for this field >to hold physical and virtual addresses at different times? >I have a pass over all drivers coming up to add devfs stuff.. >I could add this to the list of things to fix.. >not that many drivers have shared memory, and with frame buffers mapped >into high memory becoing more common, this kludge should go.. >(also while we're about it, why is id_irq a bitfield? >it's almost believable, but is there a really good reason?) Yes, you're right, it's quite ugly. I started out trying to 'fix' this about 5 months ago, but then got sidetracked with the 2.0.5/2.1 release stuff. The way that I envision this, the 1MB physical memory mapping that starts at KERNBASE should completely go away, and each driver should allocate it's own kernel VA using pmap_mapdev() and then use that to talk to the shared memory. This makes the scheme completely flexible and allows you to map cards that are in unusual physical memory areas (like the 15-16MB range). The only thing I haven't yet figured out is what to do with the console drivers; these need a kernel VA before the VM system is initialized, so you pretty much have to kludge up something, at least temporarily during the early startup. -DG
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509301059.DAA01827>