Subject: Re: port-i386/3920: linux emulation doesn't support mremap()
To: None <current-users@NetBSD.ORG>
From: Matthias Scheler <tron@lyssa.owl.de>
List: current-users
Date: 07/28/1997 20:43:25
In article <32384.870109347@dnaunix.pa.dec.com>,
	"Chris G. Demetriou" <cgd@pa.dec.com> writes:
> I've encountered several occasions in which i'd wanted such a syscall
> for general use in NetBSD, but have never gotten around to writing it.

Of course it would be better to have a real implementation on which a
real emulation could be based own.

> .. it'd probably be more generally useful ...

But until then my patch will help to improve linux compatibility.

> don't know what it's supposed to do under linux, 

>From mremap(2):

SYNOPSIS
       #include <unistd.h>
       #include <sys/mman.h>

       void * mremap(void * old_address, size_t old_size , size_t
       new_size, unsigned long flags);

DESCRIPTION
       mremap expands (or shrinks) an  existing  memory  mapping,
       potentially  moving it at the same time (controlled by the
       flags argument and the available virtual address space).

       old_address is the old address of the virtual memory block
       that   you   want   to  expand  (or  shrink).   Note  that
       old_address has to be page aligned. old_size  is  the  old
       size  of  the  virtual  memory  block.   new_size  is  the
       requested size of  the  virtual  memory  block  after  the
       resize.

       The flags argument is a bitmap of flags.

-- 
Matthias Scheler                                http://home.owl.de/~tron/