Subject: Re: early console init
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Leo Weppelman <leo@wau.mis.ah.nl>
List: tech-kern
Date: 07/20/1999 21:26:15
On Tue 20 Jul 1999, Jason Thorpe wrote:
> On Tue, 20 Jul 1999 11:04:43 +0200 
>  Matthias Drochner <drochner@zel459.zel.kfa-juelich.de> wrote:
> 
[ Avoid uvm_usage in bus_spave map before uvm is up & running ]
> 
> 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.

Nice test, thanks ;-)

> 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().

If I want to map _all possible_ internal I/O space, I have a big problem.
PCI I/O space range is 0xBxxxxxx, mem-space: 0x8xxxxxxx. I also have an 
ISA bus, VME bus and some scattered I/O addresses... Now the sensible
ranges for an vga card (in console mode) are in the lower 8-32KB of these
ranges, but still it is not very practical to reserve VA for...

Or are you suggesting to reserve +/- 40KB VA space to map pages requested
before uvm_init() runs?

An alternative is to modify the vga-driver, thus avoiding the overhead in
the 'generic' functions. We could use a function like get_console_mappings()
that accepts an array of wanted mappings and returns a set of handles.

Leo.