I'd still like to know if the 32MB ram window (as is currently defined; i know it isn't fixed-for-all-time) is the only memory the epiphany can see. Or can it access anything in the whole xGB range willy nilly including memory mapped i/o?
alexrp: a paged virtual memory system means just that. 'N' could be stored on disk and re-used by another process at any time, the only guarantee is that M only needs to appear to exist when P accesses it. You can't and shouldn't have any expectation that it would work as you describe. If M is bigger than a page then N can't even be expected to be contiguous.
There is a dedicated shared contiguous region for this purpose, for a reason.
I don't know whether the shared block is also mapped with no caching - if it is then what you describe would not even work properly even if the memory was guaranteed to stay in the same place without additional low-level operations to manage the cache or page table properties.