Subject: Re: Fwd: Re: Queries about bus_space (MIPS: TX49)
To: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
From: Anand Lalgondar <solarflares@fastmail.fm>
List: tech-kern
Date: 02/03/2004 11:15:07
OK, So

1. To create a new tag (which is done in the machine dependent layer) an
instant of bus_space_tag_t should be declared and to use the tag it
should be initilaized by calling __BS(init) function call by declaring
some macros and including 'bus_space_*_chipdep.c'. But is it neccessary
to create all the tags before autoconfiguration process? 

2. bus_space_map function call is used to create a new handle to access
the requested bus range specified by address, size and flags.

3. But, will the bus space framework display error when an out of range
memory area is accessed. Well I think it is implementation dependent on a
particular architecture.

4. What is the purpose of the void* cookie the first argument of the
bus_space_tag_t. I found out that it holds the address of the structure
(the second argument of __BS(init)) that contains the tag declaration.

> 
> Note that this is only one possible implementation of bus space. ;-)
> -- 
Now what does this mean? I have seen some drivers that have overriden the
bus_space_read/write functionality by having there own functions.

Thank you for providing some time to this discussion.

 - Anand

-- 
http://www.fastmail.fm - One of many happy users:
  http://www.fastmail.fm/docs/quotes.html