Subject: Re: early console init
To: None <M.Drochner@fz-juelich.de>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: tech-kern
Date: 07/20/1999 10:09:55
On Tue, 20 Jul 1999 11:04:43 +0200 
 Matthias Drochner <drochner@zel459.zel.kfa-juelich.de> wrote:

 > > On the Atari,
 > > uvm_km_valloc() is used in bus_space_map() to allocate a VA. When looking
 > > at main(), you will see that the console is initialised before uvm_init()...
 > 
 > On the i386, I've added the special case
 > 	if (bpa >= IOM_BEGIN && (bpa + size) <= IOM_END) {
 > 		*bshp = (bus_space_handle_t)ISA_HOLE_VADDR(bpa);
 > 		return(0);
 > 	}
 > to bus_space_map() to avoid the vm system in console
 > initialization. The "ISA hole" is mapped early in locore.S.

Yes, in the Atari bus_space_map(), you could also detect if uvm_init()
hasn't yet been called (you can test to see if kernel_map == NULL), and
if so, cause bus_space_map() to use some statlically mapped region, like
the i386 port does.

The hp300 port's bus_space_map() uses a statically mapped region for
all of the "internal i/o" space.  This region is set up in pmap_boostrap().

        -- Jason R. Thorpe <thorpej@nas.nasa.gov>