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