Skip site navigation (1)Skip section navigation (2)
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>