Subject: Re: build aborts in regress/lib/libpthread/sem
To: Christian Groessler <cpg@aladdin.de>
From: Marcus Comstedt <marcus@mc.pp.se>
List: port-dreamcast
Date: 02/12/2003 02:41:22
Christian Groessler <cpg@aladdin.de> writes:

> This might be a more general problem of the g2 bus space routines:
> The G2_LOCK macro seems to disable exceptions. But what happens if the
> page addressed by *addr is not available, and the exception is needed?

Yes, the function should make sure the source data is paged in before
calling G2_LOCK.  If there is any race condition possible where the
pages could be swapped out again before G2_LOCK is reached, the pages
should be locked into memory.  I haven't looked into the details of
the virtual memory system in NetBSD, but I assume there are such
facilities available, to be used with DMA devices for example.


  // Marcus