Subject: Re: Enhancements to bus_space_barrier
To: None <briggs@wasabisystems.com, eeh@netbsd.org>
From: None <eeh@netbsd.org>
List: tech-kern
Date: 10/19/2001 19:13:35
| On Fri, Oct 19, 2001 at 02:52:02AM -0000, eeh@netbsd.org wrote:
| > After going through the specification for bus_space_barrier()
| > for the fifth time, and finding it lacking, I'd like to propose
| > the following enhancement:
|
| Except for one nit, I think this is an improvement.
|
| I think the old ones need to be defined as:
|
|  	BUS_SPACE_BARRIER_READ		BUS_SPACE_BARRIER_READ_READ |
|  					BUS_SPACE_BARRIER_READ_WRITE
|  	BUS_SPACE_BARRIER_WRITE		BUS_SPACE_BARRIER_WRITE_WRITE |
|  					BUS_SPACE_BARRIER_WRITE_READ
|
| to maintain the existing semantics.

To quote the manpage:

	 All reads started
     to the region before a read barrier must complete before any reads after
     the read barrier are started.

It doesn't say anything about writes, so I think BUS_SPACE_BARRIER_READ_READ
is the correct translation.

However, the mere fact we are having this argument illustrates the brokenness
of the current semantics.

Eduardo