Subject: Re: PR 6152 (gdb fails on UVM for seperate I&D), and fix (ATTN portmasters)
To: None <tech-kern@netbsd.org>
From: Ignatios Souvatzis <is@jocelyn.rhein.de>
List: tech-kern
Date: 02/26/1999 00:44:47
On Fri, Feb 26, 1999 at 12:26:07AM +0100, Ignatios Souvatzis wrote:
> implement. The interface is:
>
> pmap.h:
>
> #define PMAP_NEED_PROCWR
> void pmap_procwr((struct proc *p, vaddr_t start, size_t len));
>
> implementation to your taste.
Oops.
Implementation:
do whatever is needed to make a previous write the the address space of
p, range [start, start+len), visible to p's instruction stream.
(For CPUs with merged instruction and data caches, nothing.
For CPUs with split instruction and data caches, typically some variant of
flush data cache corresponding to that address range, then purge instruction
cache corresponding to that address range will do.
I write 'struct proc *'... so I guess non-snooping SMP machines will do
this globally, if applicable.)
Regards,
Ignatios Souvatzis